summaryrefslogtreecommitdiff
path: root/packages/slugos-init/files
diff options
context:
space:
mode:
Diffstat (limited to 'packages/slugos-init/files')
-rw-r--r--packages/slugos-init/files/boot/disk18
-rw-r--r--packages/slugos-init/files/initscripts/loadmodules.sh11
-rw-r--r--packages/slugos-init/files/modulefunctions37
3 files changed, 50 insertions, 16 deletions
diff --git a/packages/slugos-init/files/boot/disk b/packages/slugos-init/files/boot/disk
index d0b093c602..ff55baa04c 100644
--- a/packages/slugos-init/files/boot/disk
+++ b/packages/slugos-init/files/boot/disk
@@ -16,17 +16,17 @@ if test -n "$1"
then
device="$1"
shift
- echo "boot: rootfs: mount $* $device [$UUID]"
- #
- # wait if required
+ # proc is needed for UUID mount and module load
+ mount -t proc proc /proc
+ # load USB & SCSI storage modules (/proc required!)
+ echo "boot: loading modules required for disk boot"
+ loaddiskmods
+ # waiting for disk (FIXME)
+ sleep=6
test "$sleep" -gt 0 && sleep "$sleep"
#
- # 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
+ # fire the boot
+ echo "boot: rootfs: mount $* $device [$UUID]"
#
# Mount read-write because before exec'ing init
# If a UUID is given (in the environment) this
diff --git a/packages/slugos-init/files/initscripts/loadmodules.sh b/packages/slugos-init/files/initscripts/loadmodules.sh
index 1bc540a148..e80f995598 100644
--- a/packages/slugos-init/files/initscripts/loadmodules.sh
+++ b/packages/slugos-init/files/initscripts/loadmodules.sh
@@ -1,18 +1,15 @@
#!/bin/sh
# This script is used for loading modules required by SlugOS
-# Currently, this script only supports the NSLU2
+# This script may not be necessary if udev is present, but is included
+# for 'backup' purposes in case udev is playing silly buggers
-. /etc/default/functions # Load $(machine) function required
-. /etc/default/modulefunctions
+. /etc/default/modulefunctions # Load module loading logic
-echo "Loading networking modules"
loadnetmods
-echo "Loading usb storage modules"
-loadusbmods
+loaddiskmods
-echo "Loading other modules"
loadmiscmods
exit 0
diff --git a/packages/slugos-init/files/modulefunctions b/packages/slugos-init/files/modulefunctions
new file mode 100644
index 0000000000..c6719d4f79
--- /dev/null
+++ b/packages/slugos-init/files/modulefunctions
@@ -0,0 +1,37 @@
+#!/bin/sh
+# . this file to load the functions for automatically loading modules
+
+. /etc/default/functions
+
+loaddiskmods(){
+ modprobe scsi_mod
+ modprobe sd_mod
+ modprobe usbcore
+ case "$(machine)" in
+ nslu2)
+ modprobe ehci-hcd
+ modprobe ohci-hcd
+ ;;
+ nas100d)
+ modprobe ehci-hcd
+ modprobe uhci-hcd
+ ;;
+
+ esac
+ modprobe usb-storage
+}
+
+loadnetmods(){
+ modprobe af_packet
+ case "$(machine)" in
+ ixdp425|nslu2|nas100d)
+ modprobe ixp4xx_mac
+ ;;
+ esac
+}
+
+loadmiscmods(){
+ modprobe ixp4xx_rng
+ modprobe i2c_dev
+}
+