summaryrefslogtreecommitdiff
path: root/packages/busybox/switchbox-1.00/linuxrc
diff options
context:
space:
mode:
authorRod Whitby <rod@whitby.id.au>2005-02-20 22:31:52 +0000
committerRod Whitby <rod@whitby.id.au>2005-02-20 22:31:52 +0000
commita801b58bfe1cc81878c99ae495b669826c935fff (patch)
tree42ea6b2590cdd0692cf2e46a84d91028077ec756 /packages/busybox/switchbox-1.00/linuxrc
parent91d7a639e99fb8a8823e561cb622e28c94f65ea0 (diff)
Merge bk://nslu2-linux@nslu2-linux.bkbits.net/openembedded
into home.(none):/home/slug/openembedded 2005/02/21 09:00:48+10:30 (none)!rwhitby Switchbox fixes for OpenSlug - sdX support BKrev: 42190fd8qImxX_SqmdbaWvBIhYoJ9w
Diffstat (limited to 'packages/busybox/switchbox-1.00/linuxrc')
-rw-r--r--packages/busybox/switchbox-1.00/linuxrc24
1 files changed, 19 insertions, 5 deletions
diff --git a/packages/busybox/switchbox-1.00/linuxrc b/packages/busybox/switchbox-1.00/linuxrc
index 9f6ae7869b..7ce4adbbdd 100644
--- a/packages/busybox/switchbox-1.00/linuxrc
+++ b/packages/busybox/switchbox-1.00/linuxrc
@@ -23,11 +23,21 @@ if [ -z "$mounted" ] && /bin/mount -rt jffs2 /dev/mtdblock4 /mnt/jffs2 ; then
mounted=
runboot=
prefroot=
+ elif [ -f /mnt/jffs2/.sda1root ] ; then
+ /bin/echo "Preferred root device is /dev/sda1 (disk 1)"
+ mounted=/mnt/newroot
+ runboot=/bin/init
+ prefroot=sda1
elif [ -f /mnt/jffs2/.sda2root ] ; then
/bin/echo "Preferred root device is /dev/sda2 (disk 1)"
mounted=/mnt/newroot
runboot=/bin/init
prefroot=sda2
+ elif [ -f /mnt/jffs2/.sdb1root ] ; then
+ /bin/echo "Preferred root device is /dev/sdb1 (disk 2)"
+ mounted=/mnt/newroot
+ runboot=/bin/init
+ prefroot=sdb1
elif [ -f /mnt/jffs2/.sdb2root ] ; then
/bin/echo "Preferred root device is /dev/sdb2 (disk 2)"
mounted=/mnt/newroot
@@ -54,11 +64,12 @@ fi
# perform prepatory tasks
if [ -n "$prefroot" ] ; then
- if [ $prefroot = "sda2" -o $prefroot = "sdb2" ] ; then
+ if [ $prefroot = "sda1" -o $prefroot = "sda2" -o $prefroot = "sdb1" -o $prefroot = "sdb2" ] ; then
/bin/echo "Sleeping 10sec while waiting for disk..."
sleep 10
/bin/mount -rt ext3 /dev/$prefroot /mnt/newroot
- if [ -x /mnt/newroot/bin/init ] && [ -r /mnt/newroot/.unslung ] ; then
+ if [ -L /mnt/newroot/sbin/init -o -x /mnt/newroot/sbin/init -o \
+ -L /mnt/newroot/bin/init -o -x /mnt/newroot/bin/init ] ; then
/bin/echo "Root filesystem will be mounted from /dev/$prefroot ..."
else
/bin/echo "Cant find valid rootfs on /dev/$prefroot, using recovery ..."
@@ -119,7 +130,8 @@ if [ -n "$prefroot" ] ; then
mount -o $nfsrootopts $nfsrootloc /mnt/newroot
- if [ -e /mnt/newroot/sbin/init -o -e /mnt/newroot/bin/init ] ; then
+ if [ -L /mnt/newroot/sbin/init -o -x /mnt/newroot/sbin/init -o \
+ -L /mnt/newroot/bin/init -o -x /mnt/newroot/bin/init ] ; then
/bin/echo "Root filesystem will be mounted from a NFS root ..."
mounted=/mnt/newroot
runboot=/linuxrc
@@ -130,7 +142,8 @@ if [ -n "$prefroot" ] ; then
fi
else
- if [ -e /mnt/jffs2/sbin/init -o -e /mnt/jffs2/bin/init ] ; then
+ if [ -L /mnt/jffs2/sbin/init -o -x /mnt/jffs2/sbin/init -o \
+ -L /mnt/jffs2/bin/init -o -x /mnt/jffs2/bin/init ] ; then
/bin/echo "Root filesystem will be mounted from /dev/mtdblock4 ..."
mounted=/mnt/jffs2
runboot=/linuxrc
@@ -160,7 +173,8 @@ fi
#if [ -z "$mounted" ] ; then
#
# /bin/umount /mnt/jffs2
-# if [ -e /mnt/jffs2/sbin/init -o -e /mnt/jffs2/bin/init ] ; then
+# if [ -L /mnt/jffs2/sbin/init -o -x /mnt/jffs2/sbin/init -o \
+# -L /mnt/jffs2/bin/init -o -x /mnt/jffs2/bin/init ] ; then
# /bin/echo "5" > /proc/sys/kernel/panic
# /bin/echo "Root filesystem will be mounted from /dev/ram0 ..."
# /bin/echo "0x0100" > /proc/sys/kernel/real-root-dev