summaryrefslogtreecommitdiff
path: root/busybox/switchbox-1.00/linuxrc
diff options
context:
space:
mode:
Diffstat (limited to 'busybox/switchbox-1.00/linuxrc')
-rw-r--r--busybox/switchbox-1.00/linuxrc68
1 files changed, 68 insertions, 0 deletions
diff --git a/busybox/switchbox-1.00/linuxrc b/busybox/switchbox-1.00/linuxrc
index e69de29bb2..1368b418a7 100644
--- a/busybox/switchbox-1.00/linuxrc
+++ b/busybox/switchbox-1.00/linuxrc
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+mounted=
+
+/bin/mount -t proc proc /proc
+/bin/echo "0x0100" > /proc/sys/kernel/real-root-dev
+
+/bin/sleep 10
+
+if [ -z "$mounted" ] && /bin/mount -rt ext3 /dev/sda2 /mnt/tmpmnt ; then
+
+ if [ -x /mnt/tmpmnt/bin/init ] &&
+ [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/sda2 ..."
+ /bin/echo "Firmware Version: `/bin/cat /mnt/tmpmnt/.unslung`"
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x0802" > /proc/sys/kernel/real-root-dev
+ [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc
+ fi
+
+ /bin/umount /mnt/tmpmnt
+fi
+
+if [ -z "$mounted" ] && /bin/mount -rt ext3 /dev/sdb2 /mnt/tmpmnt ; then
+
+ if [ -x /mnt/tmpmnt/bin/init ] &&
+ [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/sdb2 ..."
+ /bin/echo "Firmware Version: `/bin/cat /mnt/tmpmnt/.unslung`"
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x0812" > /proc/sys/kernel/real-root-dev
+ [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc
+ fi
+
+ /bin/umount /mnt/tmpmnt
+fi
+
+if [ -z "$mounted" ] && /bin/mount -rt jffs2 /dev/mtdblock4 /mnt/tmpmnt ; then
+
+ if [ -x /mnt/tmpmnt/bin/init ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/mtdblock4 ..."
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x1f04" > /proc/sys/kernel/real-root-dev
+ fi
+
+ /bin/umount /mnt/tmpmnt
+fi
+
+if [ -z "$mounted" ] ; then
+ if [ -x /mnt/tmpmnt/bin/init ] &&
+ [ -d /mnt/tmpmnt/unslung ] && [ -r /mnt/tmpmnt/.unslung ] ; then
+ /bin/echo "Root filesystem will be mounted from /dev/ram0 ..."
+ /bin/echo "Firmware Version: `/bin/cat /.unslung`"
+ mounted=/mnt/tmpmnt
+ /bin/echo "0x0100" > /proc/sys/kernel/real-root-dev
+ [ -r $mounted/unslung/rc.linuxrc ] && . $mounted/unslung/rc.linuxrc
+ fi
+fi
+
+if [ -z "$mounted" ] ; then
+ /bin/echo "Root filesystem cannot be found - dropping into shell ..."
+ echo "5" > /proc/sys/kernel/panic
+ exec /bin/sh
+fi
+
+/bin/umount /proc
+
+exit 0