Add nomodules kernel commandline parameter to disable loading of modules
authorAndrew Gaffney <agaffney@gentoo.org>
Fri, 9 May 2008 22:15:46 +0000 (22:15 +0000)
committerAndrew Gaffney <agaffney@gentoo.org>
Fri, 9 May 2008 22:15:46 +0000 (22:15 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@675 67a159dc-881f-0410-a524-ba9dfbe2cb84

ChangeLog
generic/initrd.defaults
generic/initrd.scripts
generic/linuxrc

index eb103688c2e24207620b1871714100e3f5c0fe36..1461b1dab5a98c70cd72550546ee92764c9a77b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,10 @@
 # Copyright 2006-2008 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+  09 May 2008; Andrew Gaffney <agaffney@gentoo.org> generic/initrd.defaults,
+  generic/initrd.scripts, generic/linuxrc:
+  Add nomodules kernel commandline parameter to disable loading of modules
+
   09 May 2008; Andrew Gaffney <agaffney@gentoo.org> gen_funcs.sh, genkernel,
   genkernel.conf:
   Move distfile cache to /var/cache/genkernel/src and add check to make sure
index ba61cd9606b371bb0a2e7fc2ef815f897ba7f55b..689747f922934592bf053faec8c20ff1cae7d188 100644 (file)
@@ -77,5 +77,5 @@ LOOPS='/livecd.loop /zisofs /livecd.squashfs /image.squashfs /livecd.gcloop'
 
 # Only sections that are in by default or those that
 # are not module groups need to be defined here...
-HWOPTS='keymap cache pata sata scsi usb firewire slowusb evms lvm dmraid mdadm fs net'
-MY_HWOPTS='pata sata scsi usb firewire dmraid mdadm fs net'
+HWOPTS='keymap cache modules pata sata scsi usb firewire slowusb evms lvm dmraid mdadm fs net'
+MY_HWOPTS='modules pata sata scsi usb firewire dmraid mdadm fs net'
index 3589f40c2ff4130325c8d825157c6cda7913eae8..7e42be9b08fe2f7b1d3b2bb7479c3714215c8a3c 100644 (file)
@@ -448,13 +448,11 @@ cmdline_hwopts() {
                do
                        if [ "${y}" = "${x}" ]
                        then 
-                               FOUND=1
+                               continue 2
                        fi
                done
-               if [ ! "${FOUND}" = '1' ]
-               then
-                       TMP_HWOPTS="${TMP_HWOPTS} ${x}"
-               fi
+               TMP_HWOPTS="${TMP_HWOPTS} ${x}"
+               eval DO_`echo ${x} | sed 's/-//'`=1
        done
 
        MY_HWOPTS=${TMP_HWOPTS}
@@ -470,7 +468,6 @@ load_modules() {
                for modules in $MY_HWOPTS
                do
                        modules_scan $modules
-                       eval DO_`echo $modules | sed 's/-//'`=1
                done
        else
                good_msg 'Skipping module load; no modules in the initrd!'
index c53a89e8b6cd6eeefcede9efe6479990f102b438..03745f46e9d1d263c2ba00767ff4906e83518654 100644 (file)
@@ -203,7 +203,10 @@ mount_sysfs
 setup_hotplug
 
 # Load modules listed in MY_HWOPTS if /lib/modules exists for the running kernel
-if [ -d "/lib/modules/${KV}" ]
+if [ -z "${DO_modules}" ]
+then
+       good_msg 'Skipping module load; disabled via commandline'
+elif [ -d "/lib/modules/${KV}" ]
 then
        good_msg 'Loading modules'
        # Load appropriate kernel modules
@@ -212,16 +215,11 @@ then
                for modules in ${MY_HWOPTS}
                do
                        modules_scan ${modules}
-                       eval DO_`echo ${modules} | sed 's/-//'`=1
                done
        fi
        # Always eval doload=...
        modules_load ${MDOLIST}
 else
-       for modules in ${MY_HWOPTS}
-       do
-               eval DO_`echo ${modules} | sed 's/-//'`=1
-       done
        good_msg 'Skipping module load; no modules in the initrd!'
 fi