tech-install archive

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

modules set



     One of the complaints about the new MODULAR kernels is the
difficulty of installing the modules if you just want to try a newer
kernel.  Right now you have to do something like "tar xvzpf base.tgz -C
/ ./stand".  In order to resolve this issue, I have created a new
modules.tgz set.  I have also adjusted sysinst to install this new
set.  This involved moving sets/lists/base/module.* into a new
sets/lists/module subdirectory (and removing the module. prefix) plus
the following patches.  If there are no major objections, I intend to
commit this next Saturday (Sept. 5th).

     I've heard a couple of issues with regards to having a modules.tgz
set.  The first is that the modules might move.  This is a non-issue as
sets are created based on the setlist files which must be updated
whenever a file is moved, added, or deleted thus the set would be
automatically updated.  The one thing to note here is that the kernel
knows the patch to modules in order to autoload them and to load
<module>.prop.  That path would need to be updated.  The second thing
I've heard is that modules should be bundled into the kernel sets.  I
dislike this because it means a considerable ammount of wasted disk
space (especially on a platform like i386, which has six kernel sets)
along with a considerable ammount of wasted bandwidth to transfer all
these extra files around.  Also, modules are supposed to be independent
of the kernel.  Here are the patches:

-----

ultra: {472} cvs diff -u -r HEAD README
Index: README
===================================================================
RCS file: /cvsroot/src/distrib/sets/README,v
retrieving revision 1.8
diff -u -r1.8 README
--- README      9 Jan 2008 11:25:59 -0000       1.8
+++ README      30 Aug 2009 09:28:36 -0000
@@ -80,6 +80,8 @@
                man pages for other CPUs which happen to always
                be installed.

+       modules:        stand/${MACHINE}/${OSRELEASE}/modules kernel modules
+
        tests:  unit, regression, integration and stress tests for the
                whole system.

ultra: {473} cvs diff -u -r HEAD sets.subr
Index: sets.subr
===================================================================
RCS file: /cvsroot/src/distrib/sets/sets.subr,v
retrieving revision 1.85
diff -u -r1.85 sets.subr
--- sets.subr   30 Aug 2009 01:49:41 -0000      1.85
+++ sets.subr   30 Aug 2009 09:28:45 -0000
@@ -194,8 +194,6 @@
 IFS=$oIFS

 setsdir=${0%/*}
-nlists="base comp etc games man misc tests text"
-xlists="xbase xcomp xetc xfont xserver"
 obsolete=0
 module=yes
 if [ "${MACHINE}" = "evbppc" ]; then
@@ -215,6 +213,12 @@
 if [ "${MACHINE_ARCH}" = "m68000" ]; then
        shlib=no                        # Turn off shlibs for some ports.
 fi
+if [ "$module" != "no" ]; then
+       nlists="base comp etc games man misc modules tests text"
+else
+       nlists="base comp etc games man misc tests text"
+fi
+xlists="xbase xcomp xetc xfont xserver"

 OSRELEASE=`${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh`
 MODULEDIR="stand/${MACHINE}/${OSRELEASE}/modules"

-----

Index: defs.h
===================================================================
RCS file: /cvsroot/src/distrib/utils/sysinst/defs.h,v
retrieving revision 1.143
diff -u -r1.143 defs.h
--- defs.h      14 May 2009 16:23:38 -0000      1.143
+++ defs.h      30 Aug 2009 09:40:45 -0000
@@ -108,6 +108,7 @@
     SET_GAMES,         /* text games */
     SET_MAN_PAGES,     /* online manual pages */
     SET_MISC,          /* miscellaneuous */
+    SET_MODULES,       /* kernel modules */
     SET_TESTS,         /* tests */
     SET_TEXT_TOOLS,    /* text processing tools */

@@ -136,7 +137,7 @@
 #define SET_KERNEL SET_KERNEL_1, SET_KERNEL_2, SET_KERNEL_3, SET_KERNEL_4,     
                SET_KERNEL_5, SET_KERNEL_6, SET_KERNEL_7, SET_KERNEL_8
 /* Core system sets */
-#define SET_CORE SET_BASE, SET_ETC
+#define SET_CORE SET_MODULES, SET_BASE, SET_ETC
 /* All system sets */
 #define SET_SYSTEM SET_CORE, SET_COMPILER, SET_GAMES,                     
SET_MAN_PAGES, SET_MISC, SET_TESTS, SET_TEXT_TOOLS
Index: msg.mi.en
===================================================================
RCS file: /cvsroot/src/distrib/utils/sysinst/msg.mi.en,v
retrieving revision 1.158
diff -u -r1.158 msg.mi.en
--- msg.mi.en   23 Aug 2009 21:16:17 -0000      1.158
+++ msg.mi.en   30 Aug 2009 09:40:45 -0000
@@ -738,6 +738,9 @@
 message set_misc
 {Miscellaneous}

+message set_modules
+{Kernel Modules}
+
 message set_tests
 {Test programs}

Index: util.c
===================================================================
RCS file: /cvsroot/src/distrib/utils/sysinst/util.c,v
retrieving revision 1.158
diff -u -r1.158 util.c
--- util.c      23 Aug 2009 21:16:17 -0000      1.158
+++ util.c      30 Aug 2009 09:40:45 -0000
@@ -110,6 +110,7 @@
        {SET_KERNEL_8_NAME,     SET_KERNEL_8,           MSG_set_kernel_8, NULL},
 #endif

+       {"modules",             SET_MODULES,            MSG_set_modules, NULL},
        {"base",                SET_BASE,               MSG_set_base, NULL},
        {"etc",                 SET_ETC,                MSG_set_system, NULL},
        {"comp",                SET_COMPILER,           MSG_set_compiler, NULL},


Home | Main Index | Thread Index | Old Index