summaryrefslogtreecommitdiff
path: root/packages/slugos-init
diff options
context:
space:
mode:
authorMichael-Luke Jones <mlj28@cam.ac.uk>2006-09-28 11:43:57 +0000
committerMichael-Luke Jones <mlj28@cam.ac.uk>2006-09-28 11:43:57 +0000
commitedbf5a02126c8db32ba826e510459fbcb9a579e5 (patch)
treef54eed540bf257b1daa06fef7c34796c9d6b02bd /packages/slugos-init
parent6977e997471f6e448ba2e6d4f7f38ab0cf51967d (diff)
slugos-init: improve module loading at boot
Diffstat (limited to 'packages/slugos-init')
-rw-r--r--packages/slugos-init/files/boot/disk19
-rw-r--r--packages/slugos-init/files/boot/ram13
-rw-r--r--packages/slugos-init/files/initscripts/loadmodules.sh34
-rw-r--r--packages/slugos-init/slugos-init_0.10.bb4
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/