slugos-init: improve module loading at boot
authorMichael-Luke Jones <mlj28@cam.ac.uk>
Thu, 28 Sep 2006 11:43:57 +0000 (11:43 +0000)
committerMichael-Luke Jones <mlj28@cam.ac.uk>
Thu, 28 Sep 2006 11:43:57 +0000 (11:43 +0000)
packages/slugos-init/files/boot/disk
packages/slugos-init/files/boot/ram
packages/slugos-init/files/initscripts/loadmodules.sh
packages/slugos-init/slugos-init_0.10.bb

index 02b8ee8..d0b093c 100644 (file)
@@ -8,22 +8,10 @@ export PATH=/sbin:/bin:/usr/sbin:/usr/bin
 #
 # Load the helper functions
 . /etc/default/functions
+. /etc/default/modulefunctions
 #
 leds boot system
 #
-# Load the required SCSI and USB modules 'by hand'
-insmod /lib/modules/`uname -r`/kernel/drivers/scsi/scsi_mod.ko
-insmod /lib/modules/`uname -r`/kernel/drivers/scsi/sd_mod.ko
-insmod /lib/modules/`uname -r`/kernel/drivers/usb/core/usbcore.ko
-# Add more cases here for different boards
-case "$(machine)" in
-    nslu2)
-       insmod /lib/modules/`uname -r`/kernel/drivers/usb/host/ehci-hcd.ko
-       insmod /lib/modules/`uname -r`/kernel/drivers/usb/host/ohci-hcd.ko
-        ;;
-esac
-insmod /lib/modules/`uname -r`/kernel/drivers/usb/storage/usb-storage.ko
-#
 if test -n "$1"
 then
        device="$1"
@@ -35,6 +23,11 @@ then
        #
        # proc is needed for UUID mount
        mount -t proc proc /proc 
+       #
+       # load USB & SCSI storage modules (/proc required!)
+       echo "boot: loading modules required for boot"
+       loadusbmods
+       #
        # Mount read-write because before exec'ing init
        # If a UUID is given (in the environment) this
        # is used in preference to the device, but if
index 4729e16..a7c78b3 100644 (file)
@@ -12,19 +12,6 @@ export PATH=/sbin:/bin:/usr/sbin:/usr/bin
 leds beep -r 2
 leds boot system
 #
-# Load the required SCSI and USB modules 'by hand'
-insmod /lib/modules/`uname -r`/kernel/drivers/scsi/scsi_mod.ko
-insmod /lib/modules/`uname -r`/kernel/drivers/scsi/sd_mod.ko
-insmod /lib/modules/`uname -r`/kernel/drivers/usb/core/usbcore.ko
-# Add more cases here for different boards
-case "$(machine)" in
-    nslu2)
-        insmod /lib/modules/`uname -r`/kernel/drivers/usb/host/ehci-hcd.ko
-        insmod /lib/modules/`uname -r`/kernel/drivers/usb/host/ohci-hcd.ko
-        ;;
-esac
-insmod /lib/modules/`uname -r`/kernel/drivers/usb/storage/usb-storage.ko
-#
 if test -n "$1"
 then
        device="$1"
index f2b28d8..1bc540a 100644 (file)
@@ -4,41 +4,15 @@
 # Currently, this script only supports the NSLU2
 
 . /etc/default/functions # Load $(machine) function required
-
-echo "Starting Network Processing Engines"
-modprobe ixp4xx_npe
-sleep 1 # Wait for firmware load
+. /etc/default/modulefunctions
 
 echo "Loading networking modules"
-
-modprobe af_packet # Required for DHCP
-
-# Add nas100d/loft below when mac definition is added to kernel
-case "$(machine)" in
-    ixdp425|nslu2)
-        modprobe ixp4xx_mac
-        ;;
-esac
-
-# Add conditional DSM-G600 ethernet module load
+loadnetmods
 
 echo "Loading usb storage modules"
-modprobe scsi_mod
-modprobe sd_mod
-modprobe usbcore
-
-# Add more entries as appropriate
-case "$(machine)" in
-    nslu2)
-        modprobe ohci_hcd
-        modprobe ehci_hcd
-        ;;
-esac
-
-modprobe usb_storage
+loadusbmods
 
 echo "Loading other modules"
-modprobe ixp4xx_rng
-modprobe i2c_dev
+loadmiscmods
 
 exit 0
index 4c775dd..66e2ae5 100644 (file)
@@ -4,7 +4,7 @@ PRIORITY = "required"
 LICENSE = "GPL"
 DEPENDS = "base-files devio"
 RDEPENDS = "busybox devio"
-PR = "r67"
+PR = "r68"
 
 SRC_URI = "file://boot/flash \
           file://boot/disk \
@@ -23,6 +23,7 @@ SRC_URI = "file://boot/flash \
           file://initscripts/umountinitrd.sh \
           file://initscripts/loadmodules.sh \
           file://functions \
+          file://modulefunctions \
           file://conffiles \
           file://sysconf \
           file://leds \
@@ -89,6 +90,7 @@ do_install() {
        #
        # Init scripts
        install -m 0644 functions ${D}${sysconfdir}/default
+       install -m 0644 modulefunctions ${D}${sysconfdir}/default       
        for s in ${INITSCRIPTS}
        do
                install -m 0755 initscripts/$s ${D}${sysconfdir}/init.d/