diff options
author | Michael-Luke Jones <mlj28@cam.ac.uk> | 2006-09-28 11:43:57 +0000 |
---|---|---|
committer | Michael-Luke Jones <mlj28@cam.ac.uk> | 2006-09-28 11:43:57 +0000 |
commit | edbf5a02126c8db32ba826e510459fbcb9a579e5 (patch) | |
tree | f54eed540bf257b1daa06fef7c34796c9d6b02bd /packages/slugos-init | |
parent | 6977e997471f6e448ba2e6d4f7f38ab0cf51967d (diff) |
slugos-init: improve module loading at boot
Diffstat (limited to 'packages/slugos-init')
-rw-r--r-- | packages/slugos-init/files/boot/disk | 19 | ||||
-rw-r--r-- | packages/slugos-init/files/boot/ram | 13 | ||||
-rw-r--r-- | packages/slugos-init/files/initscripts/loadmodules.sh | 34 | ||||
-rw-r--r-- | packages/slugos-init/slugos-init_0.10.bb | 4 |
4 files changed, 13 insertions, 57 deletions
diff --git a/packages/slugos-init/files/boot/disk b/packages/slugos-init/files/boot/disk index 02b8ee82cf..d0b093c602 100644 --- a/packages/slugos-init/files/boot/disk +++ b/packages/slugos-init/files/boot/disk @@ -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 diff --git a/packages/slugos-init/files/boot/ram b/packages/slugos-init/files/boot/ram index 4729e16a78..a7c78b39ac 100644 --- a/packages/slugos-init/files/boot/ram +++ b/packages/slugos-init/files/boot/ram @@ -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" diff --git a/packages/slugos-init/files/initscripts/loadmodules.sh b/packages/slugos-init/files/initscripts/loadmodules.sh index f2b28d8868..1bc540a148 100644 --- a/packages/slugos-init/files/initscripts/loadmodules.sh +++ b/packages/slugos-init/files/initscripts/loadmodules.sh @@ -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 diff --git a/packages/slugos-init/slugos-init_0.10.bb b/packages/slugos-init/slugos-init_0.10.bb index 4c775dd1d7..66e2ae5712 100644 --- a/packages/slugos-init/slugos-init_0.10.bb +++ b/packages/slugos-init/slugos-init_0.10.bb @@ -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/ |