summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/distro/debianslug.conf25
-rw-r--r--conf/distro/include/slugos.inc8
-rw-r--r--conf/distro/openslug.conf25
-rwxr-xr-xpackages/busybox/busybox-1.2.1/busybox-mdev.sh69
-rw-r--r--packages/busybox/busybox-1.2.1/mdev.conf0
-rw-r--r--packages/busybox/busybox-1.2.1/slugos/defconfig49
-rw-r--r--packages/busybox/busybox-1.2.1/slugos/mdev.conf11
-rw-r--r--packages/busybox/busybox_1.2.1.bb31
-rw-r--r--packages/images/slugos-image.bb8
-rw-r--r--packages/ixp4xx/ixp4xx-npe_2.1.bb9
-rw-r--r--packages/ixp4xx/ixp4xx-npe_2.3.bb7
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.18.bb2
-rw-r--r--packages/slugos-init/files/initscripts/loadmiscmod.sh12
-rw-r--r--packages/slugos-init/files/initscripts/loadnetmod.sh17
-rw-r--r--packages/slugos-init/files/initscripts/loadusbmod.sh20
-rw-r--r--packages/slugos-init/slugos-init_0.10.bb10
16 files changed, 262 insertions, 41 deletions
diff --git a/conf/distro/debianslug.conf b/conf/distro/debianslug.conf
index da80210b8f..ed39440661 100644
--- a/conf/distro/debianslug.conf
+++ b/conf/distro/debianslug.conf
@@ -87,6 +87,31 @@ kernel-module-nls-cp437 \
kernel-module-nls-utf8 \
"
+# Add modules required for firmware loading
+DEBIANSLUG_STANDARD_RDEPENDS += "\
+kernel-module-firmware-class \
+"
+
+# Add module to create i2c chardev
+DEBIANSLUG_STANDARD_RDEPENDS += "\
+kernel-module-i2c-dev \
+"
+
+# Add module required for HW RNG support
+DEBIANSLUG_STANDARD_RDEPENDS += "\
+kernel-module-ixp4xx-rng \
+"
+
+# Add modules required for usb support
+DEBIANSLUG_STANDARD_RDEPENDS += "\
+kernel-module-usbcore \
+kernel-module-ohci-hcd \
+kernel-module-ehci-hcd \
+kernel-module-uhci-hcd \
+kernel-module-scsi-mod \
+kernel-module-usb-storage \
+"
+
# This documents other file systems which are built but not installed
# by default in the flash image.
#
diff --git a/conf/distro/include/slugos.inc b/conf/distro/include/slugos.inc
index 5e7947f866..3993bf6ec0 100644
--- a/conf/distro/include/slugos.inc
+++ b/conf/distro/include/slugos.inc
@@ -170,13 +170,7 @@ PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627"
# Select the correct versions of the kernel and modules (these are the
# defaults, override in the conf/distro top-level distro file).
PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
-PREFERRED_VERSION_ixp4xx-kernel ?= "2.6.17"
-
-# Built-in ethernet modules
-PREFERRED_PROVIDER_virtual/ixp-eth ?= "ixp400-eth"
-PREFERRED_VERSION_ixp4xx-csr ?= "2.1"
-PREFERRED_VERSION_ixp-osal ?= "2.1"
-PREFERRED_VERSION_ixp400-eth ?= "1.5"
+PREFERRED_VERSION_ixp4xx-kernel ?= "2.6.18"
# Select the smallest provider of x11 libraries
PREFERRED_PROVIDER_virtual/libx11 ?= "diet-x11"
diff --git a/conf/distro/openslug.conf b/conf/distro/openslug.conf
index 6af761e26e..7c8039b6da 100644
--- a/conf/distro/openslug.conf
+++ b/conf/distro/openslug.conf
@@ -87,6 +87,31 @@ kernel-module-nls-cp437 \
kernel-module-nls-utf8 \
"
+# Add modules required for firmware loading
+OPENSLUG_STANDARD_RDEPENDS += "\
+kernel-module-firmware-class \
+"
+
+# Add module to create i2c chardev
+OPENSLUG_STANDARD_RDEPENDS += "\
+kernel-module-i2c-dev \
+"
+
+# Add module required for HW RNG support
+OPENSLUG_STANDARD_RDEPENDS += "\
+kernel-module-ixp4xx-rng \
+"
+
+# Add modules required for usb support
+OPENSLUG_STANDARD_RDEPENDS += "\
+kernel-module-usbcore \
+kernel-module-ohci-hcd \
+kernel-module-ehci-hcd \
+kernel-module-uhci-hcd \
+kernel-module-scsi-mod \
+kernel-module-usb-storage \
+"
+
# This documents other file systems which are built but not installed
# by default in the flash image.
#
diff --git a/packages/busybox/busybox-1.2.1/busybox-mdev.sh b/packages/busybox/busybox-1.2.1/busybox-mdev.sh
new file mode 100755
index 0000000000..9744322fa9
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/busybox-mdev.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+MDEV=/sbin/mdev
+DESC="Busybox mdev setup"
+
+# Complain if thing's aren't right
+if [ ! -e /proc/filesystems ]; then
+ echo "mdev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "mdev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "mdev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "mdev requires hotplug support, not started."
+ exit 1
+fi
+
+# We need to unmount /dev/pts/ and remount it later over the tmpfs
+if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+fi
+
+if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+fi
+
+# Create tmpfs for /dev
+echo "Creating tmpfs at /dev"
+mount -t tmpfs tmpfs /dev -o size=800k
+
+# Register mdev as hotplug event helper
+echo "$MDEV" > /proc/sys/kernel/hotplug
+
+# Populate /dev from /sys info
+echo "Populating /dev using mdev"
+$MDEV -s
+
+# Touch .udev to inform scripts that /dev needs no further setup
+touch /dev/.udev
+
+# Mount devpts
+TTYGRP=5
+TTYMODE=620
+mkdir -m 755 -p /dev/pts
+if [ ! -e /dev/ptmx ]; then
+ mknod -m 666 /dev/ptmx c 5 2
+fi
+mount -t devpts devpts /dev/pts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE
+
+# Make shm directory
+mkdir -m 755 -p /dev/shm
+
+# Make extraneous links
+ln -sf /proc/self/fd /dev/fd
+ln -sf /proc/self/fd/0 /dev/stdin
+ln -sf /proc/self/fd/1 /dev/stdout
+ln -sf /proc/self/fd/2 /dev/stderr
+ln -sf /proc/kcore /dev/core
+ln -sf /proc/asound/oss/sndstat /dev/sndstat
+
+exit 0
diff --git a/packages/busybox/busybox-1.2.1/mdev.conf b/packages/busybox/busybox-1.2.1/mdev.conf
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/mdev.conf
diff --git a/packages/busybox/busybox-1.2.1/slugos/defconfig b/packages/busybox/busybox-1.2.1/slugos/defconfig
index c35b4f7f70..2985e0fbca 100644
--- a/packages/busybox/busybox-1.2.1/slugos/defconfig
+++ b/packages/busybox/busybox-1.2.1/slugos/defconfig
@@ -12,7 +12,7 @@ HAVE_DOT_CONFIG=y
#
# CONFIG_NITPICK is not set
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
-CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
@@ -287,12 +287,24 @@ CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
# Finding Utilities
#
# CONFIG_FIND is not set
-CONFIG_FEATURE_FIND_EXEC=y
+# CONFIG_FEATURE_FIND_PRINT0 is not set
+# CONFIG_FEATURE_FIND_MTIME is not set
+# CONFIG_FEATURE_FIND_MMIN is not set
+# CONFIG_FEATURE_FIND_PERM is not set
+# CONFIG_FEATURE_FIND_TYPE is not set
+# CONFIG_FEATURE_FIND_XDEV is not set
+# CONFIG_FEATURE_FIND_NEWER is not set
+# CONFIG_FEATURE_FIND_INUM is not set
+# CONFIG_FEATURE_FIND_EXEC is not set
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
CONFIG_FEATURE_GREP_CONTEXT=y
# CONFIG_XARGS is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
#
# Init Utilities
@@ -343,16 +355,19 @@ CONFIG_MKE2FS=y
# Linux Module Utilities
#
# CONFIG_INSMOD is not set
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
# CONFIG_RMMOD is not set
# CONFIG_LSMOD is not set
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
# CONFIG_MODPROBE is not set
-
-#
-# Options common to multiple modutils
-#
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
+# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
# CONFIG_FEATURE_2_4_MODULES is not set
-CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_2_6_MODULES is not set
# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
#
@@ -360,6 +375,8 @@ CONFIG_FEATURE_2_6_MODULES=y
#
CONFIG_DMESG=y
# CONFIG_FBSET is not set
+# CONFIG_FEATURE_FBSET_FANCY is not set
+# CONFIG_FEATURE_FBSET_READMODE is not set
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
CONFIG_FDISK=y
@@ -373,6 +390,7 @@ CONFIG_FEATURE_OSF_LABEL=y
# CONFIG_FREERAMDISK is not set
# CONFIG_FSCK_MINIX is not set
# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
# CONFIG_GETOPT is not set
CONFIG_HEXDUMP=y
CONFIG_HWCLOCK=y
@@ -381,9 +399,9 @@ CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_LOSETUP is not set
-# CONFIG_MDEV is not set
-# CONFIG_FEATURE_MDEV_CONF is not set
-# CONFIG_FEATURE_MDEV_EXEC is not set
+CONFIG_MDEV=y
+CONFIG_FEATURE_MDEV_CONF=y
+CONFIG_FEATURE_MDEV_EXEC=y
CONFIG_MKSWAP=y
# CONFIG_FEATURE_MKSWAP_V0 is not set
CONFIG_MORE=y
@@ -398,6 +416,8 @@ CONFIG_RDATE=y
# CONFIG_SWITCH_ROOT is not set
# CONFIG_UMOUNT is not set
# CONFIG_FEATURE_UMOUNT_ALL is not set
+# CONFIG_FEATURE_MOUNT_LOOP is not set
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
#
# Miscellaneous Utilities
@@ -486,6 +506,11 @@ CONFIG_FEATURE_IFUPDOWN_IPV6=y
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
# CONFIG_FEATURE_INETD_RPC is not set
# CONFIG_IP is not set
+# CONFIG_FEATURE_IP_ADDRESS is not set
+# CONFIG_FEATURE_IP_LINK is not set
+# CONFIG_FEATURE_IP_ROUTE is not set
+# CONFIG_FEATURE_IP_TUNNEL is not set
+# CONFIG_FEATURE_IP_SHORT_FORMS is not set
# CONFIG_IPADDR is not set
# CONFIG_IPLINK is not set
# CONFIG_IPROUTE is not set
@@ -523,7 +548,7 @@ CONFIG_TRACEROUTE=y
#
# CONFIG_APP_UDHCPD is not set
CONFIG_APP_UDHCPC=y
-CONFIG_APP_DUMPLEASES=y
+# CONFIG_APP_DUMPLEASES is not set
CONFIG_FEATURE_UDHCP_SYSLOG=y
# CONFIG_FEATURE_UDHCP_DEBUG is not set
# CONFIG_VCONFIG is not set
diff --git a/packages/busybox/busybox-1.2.1/slugos/mdev.conf b/packages/busybox/busybox-1.2.1/slugos/mdev.conf
new file mode 100644
index 0000000000..31acaf83a3
--- /dev/null
+++ b/packages/busybox/busybox-1.2.1/slugos/mdev.conf
@@ -0,0 +1,11 @@
+rtc0 root:root 660 @ln -sf /dev/rtc0 /dev/rtc
+null 0:0 777
+zero 0:0 666
+console 0:5 0600
+kmem 0:9 000
+mem 0:9 0640
+port 0:9 0640
+ptmx 0:5 666
+tty 0:5 0660
+ttyS* 0:20 640
+ucode_dl root:root 600 @sleep 1 && cat /lib/firmware/NPE-B > /dev/ucode_dl
diff --git a/packages/busybox/busybox_1.2.1.bb b/packages/busybox/busybox_1.2.1.bb
index c27544303a..8e1204ef78 100644
--- a/packages/busybox/busybox_1.2.1.bb
+++ b/packages/busybox/busybox_1.2.1.bb
@@ -10,7 +10,7 @@ HOMEPAGE = "http://www.busybox.net"
LICENSE = "GPL"
SECTION = "base"
PRIORITY = "required"
-PR = "r1.3"
+PR = "r1.5"
SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
file://dhcp-hostname.patch;patch=1 \
@@ -26,29 +26,35 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
file://default.script \
file://syslog.conf \
file://mount.busybox \
- file://umount.busybox"
+ file://umount.busybox \
+ file://busybox-mdev.sh \
+ file://mdev.conf \
+ "
SRC_URI_append_nylon = " file://xargs-double-size.patch;patch=1"
export EXTRA_CFLAGS = "${CFLAGS}"
EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
-PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
+PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-mdev"
FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
+FILES_${PN}-mdev = "${sysconfdir}/init.d/busybox-mdev.sh ${sysconfdir}/mdev.conf"
FILES_${PN} += " ${datadir}/udhcpc"
-INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"
+INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd ${PN}-mdev"
INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
+INITSCRIPT_NAME_${PN}-mdev = "busybox-mdev.sh"
+INITSCRIPT_PARAMS_${PN}-mdev = "start 04 S ."
INITSCRIPT_NAME_${PN} = "syslog"
CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
-# This disables the syslog startup links in openslug (see openslug-init)
-INITSCRIPT_PARAMS_${PN}_openslug = "start 20 ."
+inherit cml1 update-rc.d
-inherit cml1 update-rc.d
+# This disables the syslog startup links in openslug (see openslug-init)
+# INITSCRIPT_PARAMS_${PN}_openslug = "start 20 ." #out-of-date?
do_configure () {
install -m 0644 ${WORKDIR}/defconfig ${S}/.config.oe
@@ -115,7 +121,7 @@ do_install () {
install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
fi
if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
- # Move dhcpc back to /usr/sbin/udhcpc
+ # Move dhcpc back to /sbin/udhcpc
install -d ${D}${base_sbindir}
mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
@@ -125,6 +131,15 @@ do_install () {
install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
fi
+ if grep "CONFIG_MDEV=y" ${WORKDIR}/defconfig; then
+ # Move mdev back to /sbin/mdev
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/mdev ${D}${base_sbindir}/
+
+ install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/
+ install -m 0755 ${WORKDIR}/busybox-mdev.sh ${D}${sysconfdir}/init.d/
+ fi
+
install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
}
diff --git a/packages/images/slugos-image.bb b/packages/images/slugos-image.bb
index 7211c96580..7342a1e639 100644
--- a/packages/images/slugos-image.bb
+++ b/packages/images/slugos-image.bb
@@ -7,7 +7,7 @@ DESCRIPTION = "Generic SlugOS image"
MAINTAINER = "NSLU2 Linux <nslu2-linux@yahoogroups.com>"
HOMEPAGE = "http://www.nslu2-linux.org"
LICENSE = "MIT"
-PR = "r32"
+PR = "r34"
# SLUGOS_IMAGENAME defines the name of the image to be build, if it
# is not set this package will be skipped!
@@ -65,7 +65,7 @@ EXTRA_IMAGEDEPENDS += "${IMAGE_TOOLS}"
# udev is the default way of handling devices, there is no guarantee
# that the static device table is completely correct (it is just
# known to be sufficient for boot.)
-SLUGOS_SUPPORT ?= "diffutils cpio findutils udev"
+SLUGOS_SUPPORT ?= "diffutils cpio findutils busybox-mdev"
# kernel-module-af-packet must be in the image for DHCP to work
# kernel-module-netconsole is here because it is small and is
@@ -73,9 +73,9 @@ SLUGOS_SUPPORT ?= "diffutils cpio findutils udev"
# other than the network to output error messages!)
SLUGOS_KERNEL ?= "kernel-module-af-packet kernel-module-netconsole"
-RDEPENDS = "kernel ixp-eth \
+RDEPENDS = "kernel \
base-files base-passwd netbase \
- busybox hotplug-ng initscripts-slugos slugos-init \
+ busybox initscripts-slugos slugos-init \
update-modules sysvinit tinylogin \
module-init-tools modutils-initscripts \
ipkg-collateral ipkg ipkg-link \
diff --git a/packages/ixp4xx/ixp4xx-npe_2.1.bb b/packages/ixp4xx/ixp4xx-npe_2.1.bb
index fc6576569d..ca89248fbb 100644
--- a/packages/ixp4xx/ixp4xx-npe_2.1.bb
+++ b/packages/ixp4xx/ixp4xx-npe_2.1.bb
@@ -1,20 +1,21 @@
DESCRIPTION = "NPE firmware for the IXP4xx line of devices"
MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org>"
LICENSE = "Intel Public Licence"
-PR = "r3"
+PR = "r4"
DEPENDS = "ixp4xx-npe-native"
SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_1.zip"
S = ${WORKDIR}/ixp400_xscale_sw/src/npeDl
-FILES_${PN} = "${base_libdir}/firmware/NPE-B/NPE-B.010c0200"
+FILES_${PN} = "${base_libdir}/firmware/NPE-B"
do_compile() {
${STAGING_BINDIR}/IxNpeMicrocode
}
do_install() {
- install -d ${D}/${base_libdir}/firmware/NPE-B
- install ${S}/NPE-B.010c0200 ${D}/${base_libdir}/firmware/NPE-B/
+ install -d ${D}/${base_libdir}/firmware/
+ mv ${S}/NPE-B.010c0200 ${S}/NPE-B
+ install ${S}/NPE-B ${D}/${base_libdir}/firmware/
}
diff --git a/packages/ixp4xx/ixp4xx-npe_2.3.bb b/packages/ixp4xx/ixp4xx-npe_2.3.bb
index b0b27a6f99..5cc710ab69 100644
--- a/packages/ixp4xx/ixp4xx-npe_2.3.bb
+++ b/packages/ixp4xx/ixp4xx-npe_2.3.bb
@@ -1,13 +1,13 @@
DESCRIPTION = "NPE firmware for the IXP4xx line of devices"
MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org>"
LICENSE = "Intel Public Licence"
-PR = "r2"
+PR = "r3"
DEPENDS = "ixp4xx-npe-native"
SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_3.zip"
S = ${WORKDIR}/ixp400_xscale_sw/src/npeDl
-FILES_${PN} = "${base_libdir}/firmware/NPE-B.010c0200"
+FILES_${PN} = "${base_libdir}/firmware/NPE-B"
do_compile() {
${STAGING_BINDIR}/IxNpeMicrocode
@@ -15,6 +15,7 @@ do_compile() {
do_install() {
install -d ${D}/${base_libdir}/firmware/
- install ${S}/NPE-B.010c0200 ${D}/${base_libdir}/firmware/
+ mv ${S}/NPE-B.010c0200 ${S}/NPE-B
+ install ${S}/NPE-B ${D}/${base_libdir}/firmware/
}
diff --git a/packages/linux/ixp4xx-kernel_2.6.18.bb b/packages/linux/ixp4xx-kernel_2.6.18.bb
index f29df6d448..304dcf594c 100644
--- a/packages/linux/ixp4xx-kernel_2.6.18.bb
+++ b/packages/linux/ixp4xx-kernel_2.6.18.bb
@@ -6,7 +6,7 @@
# http://trac.nslu2-linux.org/kernel/
#
# The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "411"
+IXP4XX_KERNEL_SVN_REV = "413"
#
# Increment the number below (i.e. the digits after PR) when
# the changes in SVN between revisions include changes in the
diff --git a/packages/slugos-init/files/initscripts/loadmiscmod.sh b/packages/slugos-init/files/initscripts/loadmiscmod.sh
new file mode 100644
index 0000000000..d2d09821f1
--- /dev/null
+++ b/packages/slugos-init/files/initscripts/loadmiscmod.sh
@@ -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
index 0000000000..eb8f3eb9dd
--- /dev/null
+++ b/packages/slugos-init/files/initscripts/loadnetmod.sh
@@ -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
index 0000000000..92866dcf6d
--- /dev/null
+++ b/packages/slugos-init/files/initscripts/loadusbmod.sh
@@ -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
diff --git a/packages/slugos-init/slugos-init_0.10.bb b/packages/slugos-init/slugos-init_0.10.bb
index 6a46eb49d7..0fe8860648 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 = "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 .