Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.sbin/sysinst PR 54065: add optional "old compat" variant...



details:   https://anonhg.NetBSD.org/src/rev/1f2839443fbd
branches:  trunk
changeset: 847128:1f2839443fbd
user:      martin <martin%NetBSD.org@localhost>
date:      Wed Dec 11 19:23:37 2019 +0000

description:
PR 54065: add optional "old compat" variant of ext2fs in file system
type selection and use that as default for the cobalt boot file system.

diffstat:

 usr.sbin/sysinst/arch/cobalt/md.h |   3 +-
 usr.sbin/sysinst/disks.c          |   9 +++++-
 usr.sbin/sysinst/label.c          |  49 +++++++++++++++++++++++---------------
 usr.sbin/sysinst/msg.mi.de        |   3 +-
 usr.sbin/sysinst/msg.mi.en        |   3 +-
 usr.sbin/sysinst/msg.mi.es        |   3 +-
 usr.sbin/sysinst/msg.mi.fr        |   3 +-
 usr.sbin/sysinst/msg.mi.pl        |   3 +-
 8 files changed, 49 insertions(+), 27 deletions(-)

diffs (241 lines):

diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/arch/cobalt/md.h
--- a/usr.sbin/sysinst/arch/cobalt/md.h Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/arch/cobalt/md.h Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: md.h,v 1.4 2019/10/02 11:16:01 maya Exp $      */
+/*     $NetBSD: md.h,v 1.5 2019/12/11 19:23:38 martin Exp $    */
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -48,6 +48,7 @@
 #define PART_BOOT              (5 * 1024 * 1024)       /* 5MB boot partition */
 #define PART_BOOT_MIN          (1 * 1024 * 1024)       /* 1MB minimum */
 #define        PART_BOOT_TYPE          FS_EX2FS
+#define        PART_BOOT_SUBT          1                       /* use "old" ext2 */
 #define        PART_BOOT_MOUNT         "/stand"
 
 /* default partition size */
diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/disks.c
--- a/usr.sbin/sysinst/disks.c  Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/disks.c  Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: disks.c,v 1.57 2019/11/16 20:26:59 martin Exp $ */
+/*     $NetBSD: disks.c,v 1.58 2019/12/11 19:23:37 martin Exp $ */
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -113,6 +113,8 @@
        else if (f == FS_BSDFFS && f_version > 0)
                return f_version == 2 ?
                    msg_string(MSG_fs_type_ffsv2) : msg_string(MSG_fs_type_ffs);
+       else if (f == FS_EX2FS && f_version == 1)
+               return msg_string(MSG_fs_type_ext2old);
        else if (f >= __arraycount(fstypenames) || fstypenames[f] == NULL)
                return "invalid";
        return fstypenames[f];
@@ -1177,7 +1179,10 @@
                        fsname = "v7fs";
                        break;
                case FS_EX2FS:
-                       asprintf(&newfs, "/sbin/newfs_ext2fs");
+                       asprintf(&newfs,
+                           ptn->fs_version == 1 ?
+                               "/sbin/newfs_ext2fs -O 0" :
+                               "/sbin/newfs_ext2fs");
                        mnt_opts = "-text2fs";
                        fsname = "ext2fs";
                        break;
diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/label.c
--- a/usr.sbin/sysinst/label.c  Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/label.c  Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: label.c,v 1.14 2019/11/13 18:57:26 martin Exp $        */
+/*     $NetBSD: label.c,v 1.15 2019/12/11 19:23:37 martin Exp $        */
 
 /*
  * Copyright 1997 Jonathan Stone
@@ -36,7 +36,7 @@
 
 #include <sys/cdefs.h>
 #if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: label.c,v 1.14 2019/11/13 18:57:26 martin Exp $");
+__RCSID("$NetBSD: label.c,v 1.15 2019/12/11 19:23:37 martin Exp $");
 #endif
 
 #include <sys/types.h>
@@ -461,6 +461,9 @@
                else
                        menu->cursel = 1;
                return;
+       } else if (t == FS_EX2FS && edit->info.fs_sub_type == 1) {
+               menu->cursel = FSMAXTYPES;
+               return;
        }
        /* skip the two FFS entries, and do not add FFS later again */
        for (ndx = 2, i = 0; i < FSMAXTYPES && ndx < max; i++) {
@@ -488,13 +491,11 @@
        if (menu->cursel == 0 || menu->cursel == 1) {
                edit->info.fs_type = FS_BSDFFS;
                edit->info.fs_sub_type = menu->cursel == 0 ? 2 : 1;
-               edit->info.nat_type = edit->pset->parts->pscheme->
-                   get_fs_part_type(edit->info.fs_type,
-                   edit->info.fs_sub_type);
-               edit->wanted->type = edit->info.nat_type->generic_ptype;
-               edit->wanted->fs_type = edit->info.fs_type;
-               edit->wanted->fs_version = edit->info.fs_sub_type;
-               return 1;
+               goto found_type;
+       } else if (menu->cursel == FSMAXTYPES) {
+               edit->info.fs_type = FS_EX2FS;
+               edit->info.fs_sub_type = 1;
+               goto found_type;
        }
 
        for (ndx = 2, i = 0; i < FSMAXTYPES && ndx < max; i++) {
@@ -508,19 +509,22 @@
                if (ndx == (size_t)menu->cursel) {
                        edit->info.fs_type = i;
                        edit->info.fs_sub_type = 0;
-                       edit->info.nat_type = edit->pset->parts->pscheme->
-                           get_fs_part_type(i, 0);
-                       if (edit->info.nat_type == NULL)
-                               edit->info.nat_type = edit->pset->parts->
-                                   pscheme->get_generic_part_type(PT_root);
-                       edit->wanted->type = edit->info.nat_type->generic_ptype;
-                       edit->wanted->fs_type = edit->info.fs_type;
-                       edit->wanted->fs_version = edit->info.fs_sub_type;
-                       break;
+                       goto found_type;
                }
                ndx++;
        }
        return 1;
+
+found_type:
+       edit->info.nat_type = edit->pset->parts->pscheme->
+           get_fs_part_type(edit->info.fs_type, edit->info.fs_sub_type);
+       if (edit->info.nat_type == NULL)
+               edit->info.nat_type = edit->pset->parts->pscheme->
+                   get_generic_part_type(PT_root);
+       edit->wanted->type = edit->info.nat_type->generic_ptype;
+       edit->wanted->fs_type = edit->info.fs_type;
+       edit->wanted->fs_version = edit->info.fs_sub_type;
+       return 1;
 }
 
 /*
@@ -534,7 +538,7 @@
        int m;
        size_t i, ndx, cnt;
 
-       cnt = __arraycount(fstypenames)-1;
+       cnt = __arraycount(fstypenames);
        opts = calloc(cnt, sizeof(*opts));
        if (opts == NULL)
                return 1;
@@ -557,6 +561,9 @@
                opts[ndx].opt_action = set_fstype_ext;
                ndx++;
        }
+       opts[ndx].opt_name = msg_string(MSG_fs_type_ext2old);
+       opts[ndx].opt_action = set_fstype_ext;
+       ndx++;
        assert(ndx == cnt);
        m = new_menu(MSG_Select_the_type, opts, ndx,
                30, 6, 10, 0, MC_SUBMENU | MC_SCROLL,
@@ -644,6 +651,10 @@
        /*
         * Shortcut to full menu if we have an exotic value
         */
+       if (edit->info.fs_type == FS_EX2FS && edit->info.fs_sub_type == 1) {
+               edit_fs_type_ext(menu, arg);
+               return 0;
+       }
        for (i = 0; i < __arraycount(edit_fs_common_types); i++)
                if (edit->info.fs_type == edit_fs_common_types[i])
                        break;
diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/msg.mi.de
--- a/usr.sbin/sysinst/msg.mi.de        Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/msg.mi.de        Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msg.mi.de,v 1.18 2019/11/16 20:26:59 martin Exp $      */
+/*     $NetBSD: msg.mi.de,v 1.19 2019/12/11 19:23:37 martin Exp $      */
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -1346,6 +1346,7 @@
 
 message        fs_type_ffsv2   {FFSv2}
 message        fs_type_ffs     {FFS}
+message fs_type_ext2old        {Linux Ext2 (old)}
 message        other_fs_type   {Anderer Typ}
 
 message        editpack        {Namen der Festplatte festlegen}
diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/msg.mi.en
--- a/usr.sbin/sysinst/msg.mi.en        Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/msg.mi.en        Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msg.mi.en,v 1.25 2019/11/16 20:26:59 martin Exp $      */
+/*     $NetBSD: msg.mi.en,v 1.26 2019/12/11 19:23:37 martin Exp $      */
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -1276,6 +1276,7 @@
 
 message        fs_type_ffsv2   {FFSv2}
 message        fs_type_ffs     {FFS}
+message fs_type_ext2old        {Linux Ext2 (old)}
 message        other_fs_type   {Other type}
 
 message        editpack        {Edit name of the disk}
diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/msg.mi.es
--- a/usr.sbin/sysinst/msg.mi.es        Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/msg.mi.es        Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msg.mi.es,v 1.19 2019/11/16 20:26:59 martin Exp $      */
+/*     $NetBSD: msg.mi.es,v 1.20 2019/12/11 19:23:37 martin Exp $      */
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -1326,6 +1326,7 @@
 
 message        fs_type_ffsv2   {FFSv2}
 message        fs_type_ffs     {FFS}
+message fs_type_ext2old        {Linux Ext2 (old)}
 message        other_fs_type   {Other type}
 
 message        editpack        {Edit name of the disk}
diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/msg.mi.fr
--- a/usr.sbin/sysinst/msg.mi.fr        Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/msg.mi.fr        Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msg.mi.fr,v 1.23 2019/11/16 20:26:59 martin Exp $      */
+/*     $NetBSD: msg.mi.fr,v 1.24 2019/12/11 19:23:37 martin Exp $      */
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -1378,6 +1378,7 @@
 
 message        fs_type_ffsv2   {FFSv2}
 message        fs_type_ffs     {FFS}
+message fs_type_ext2old        {Linux Ext2 (old)}
 message        other_fs_type   {Other type}
 
 message        editpack        {Changer le nom du disque}
diff -r 619992b612a4 -r 1f2839443fbd usr.sbin/sysinst/msg.mi.pl
--- a/usr.sbin/sysinst/msg.mi.pl        Wed Dec 11 16:16:13 2019 +0000
+++ b/usr.sbin/sysinst/msg.mi.pl        Wed Dec 11 19:23:37 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msg.mi.pl,v 1.26 2019/11/16 20:26:59 martin Exp $      */
+/*     $NetBSD: msg.mi.pl,v 1.27 2019/12/11 19:23:37 martin Exp $      */
 /*     Based on english version: */
 /*     NetBSD: msg.mi.pl,v 1.36 2004/04/17 18:55:35 atatat Exp       */
 
@@ -1275,6 +1275,7 @@
 
 message        fs_type_ffsv2   {FFSv2}
 message        fs_type_ffs     {FFS}
+message fs_type_ext2old        {Linux Ext2 (old)}
 message        other_fs_type   {Inny typ}
 
 message        editpack        {Edytuj nazwe dysku}



Home | Main Index | Thread Index | Old Index