slugos-init: Add scripts to autoload relevant modules
authorMichael-Luke Jones <mlj28@cam.ac.uk>
Sat, 23 Sep 2006 15:29:52 +0000 (15:29 +0000)
committerMichael-Luke Jones <mlj28@cam.ac.uk>
Sat, 23 Sep 2006 15:29:52 +0000 (15:29 +0000)
* Required for ixp4xx-kernel_2.6.18 and higher due to modularisation

packages/slugos-init/files/initscripts/loadmiscmod.sh [new file with mode: 0644]
packages/slugos-init/files/initscripts/loadnetmod.sh [new file with mode: 0644]
packages/slugos-init/files/initscripts/loadusbmod.sh [new file with mode: 0644]
packages/slugos-init/slugos-init_0.10.bb

diff --git a/packages/slugos-init/files/initscripts/loadmiscmod.sh b/packages/slugos-init/files/initscripts/loadmiscmod.sh
new file mode 100644 (file)
index 0000000..d2d0982
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# This script is used for loading modules required for other purposes than
+# usb or networking
+
+# A way of finding which embedded board SlugOS is being run on is needed 
+
+echo "Loading misc modules"
+modprobe ixp4xx_rng
+modprobe i2c_dev
+
+exit 0
\ No newline at end of file
diff --git a/packages/slugos-init/files/initscripts/loadnetmod.sh b/packages/slugos-init/files/initscripts/loadnetmod.sh
new file mode 100644 (file)
index 0000000..eb8f3eb
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# This script is used for loading modules required for networking
+
+# A way of finding which embedded board SlugOS is being run on is needed 
+
+echo "Loading networking modules"
+
+modprobe af_packet #Required for DHCP
+
+modprobe ixp4xx_npe
+sleep 1 #Allow Firmware Load
+
+#Conditional required: Not all IXP4xx boards use onboard MAC
+modprobe ixp4xx_mac
+
+exit 0
\ No newline at end of file
diff --git a/packages/slugos-init/files/initscripts/loadusbmod.sh b/packages/slugos-init/files/initscripts/loadusbmod.sh
new file mode 100644 (file)
index 0000000..92866dc
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# This script is used for loading modules required for usb storage devices
+# As this script is run very early in the boot process, insmod is used
+
+echo "Loading usb storage modules"
+insmod /lib/modules/2.6.18/kernel/drivers/scsi/scsi_mod.ko
+insmod /lib/modules/2.6.18/kernel/drivers/usb/core/usbcore.ko
+#Conditional required: NSLU2 has ohci/ehci but others have uhci/ehci
+insmod /lib/modules/2.6.18/kernel/drivers/usb/host/ohci-hcd.ko
+insmod /lib/modules/2.6.18/kernel/drivers/usb/host/ehci-hcd.ko
+insmod /lib/modules/2.6.18/kernel/drivers/usb/storage/usb-storage.ko
+
+echo "Loading ext2/3 support"
+insmod /lib/modules/2.6.18/kernel/fs/mbcache.ko
+insmod /lib/modules/2.6.18/kernel/fs/jbd/jbd.ko
+insmod /lib/modules/2.6.18/kernel/fs/ext2/ext2.ko
+insmod /lib/modules/2.6.18/kernel/fs/ext3/ext3.ko
+
+exit 0
\ No newline at end of file
index 6a46eb4..0fe8860 100644 (file)
@@ -4,7 +4,7 @@ PRIORITY = "required"
 LICENSE = "GPL"
 DEPENDS = "base-files devio"
 RDEPENDS = "busybox devio"
-PR = "r62"
+PR = "r63"
 
 SRC_URI = "file://boot/flash \
           file://boot/disk \
@@ -21,6 +21,9 @@ SRC_URI = "file://boot/flash \
           file://initscripts/rmrecovery \
           file://initscripts/sysconfsetup \
           file://initscripts/umountinitrd.sh \
+          file://initscripts/loadusbmod.sh \
+          file://initscripts/loadnetmod.sh \
+          file://initscripts/loadmiscmod.sh \
           file://functions \
           file://conffiles \
           file://sysconf \
@@ -37,7 +40,7 @@ SCRIPTS = "turnup reflash leds sysconf"
 BOOTSCRIPTS = "flash disk nfs ram network udhcpc.script"
 INITSCRIPTS = "syslog.buffer syslog.file syslog.network zleds\
        leds_startup rmrecovery sysconfsetup umountinitrd.sh\
-       fixfstab"
+       fixfstab loadusbmod.sh loadnetmod.sh loadmiscmod.sh"
 
 # This just makes things easier...
 S="${WORKDIR}"
@@ -120,11 +123,14 @@ do_install() {
 pkg_postinst_slugos-init() {
        opt=
        test -n "$D" && opt="-r $D"
+       update-rc.d $opt loadusbmod.sh          start 6 S .
        update-rc.d $opt hwclock.sh             start  8 S . start 45 0 6 .
        update-rc.d $opt umountinitrd.sh        start  9 S .
        update-rc.d $opt fixfstab               start 10 S .
        update-rc.d $opt syslog.buffer          start 11 S . start 49 0 6 .
        update-rc.d $opt sysconfsetup           start 12 S .
+       update-rc.d $opt loadnetmod.sh          start 21 S .
+       update-rc.d $opt loadmiscmod.sh         start 22 S .
        update-rc.d $opt syslog.file            start 39 S . start 47 0 6 .
        update-rc.d $opt syslog.network         start 44 S . start 39 0 6 .
        update-rc.d $opt zleds                  start 99 S 1 2 3 4 5 . start 89 0 6 . stop  5 0 1 2 3 4 5 6 .