#
e="/bin/echo linuxrc:"
+$e mount...
+/bin/mount /proc
+/bin/mount /dev
+$e create needed nodes...
+/bin/mknod -m 660 /dev/console c 5 1
+/bin/mknod -m 660 /dev/null c 1 3
+/bin/mknod -m 660 /dev/sda b 8 0
+/bin/mknod -m 660 /dev/sda1 b 8 1
+
$e "***** linuxrc ******"
/bin/mkdir -p /tmp/newroot
-$e mounting sda1...
-
-if ! /bin/mount -n /dev/sda1 /tmp/newroot; then
- $e "mount failed, doing normal init. Goodbye!"
- exec /sbin/init
-fi
+for i in /dev/sd??; do
+ $e "+++++ mounting $i... +++++"
+ if /bin/mount -n $i /tmp/newroot; then
+ /bin/sleep 2
+ if /bin/test -e /tmp/newroot/sbin/pivot_root; then
+ $e "+++ using pivot_root to enter new root +++"
+ $e "******************************************"
+ cd /tmp/newroot
+ sbin/pivot_root . oldroot
+ bin/mknod dev/console c 5 1
+ exec sbin/chroot . sbin/init < dev/console > dev/console 2>&1
+ fi
-if /bin/test -e /tmp/newroot/sbin/pivot_root; then
- $e "using pivot_root to enter new root"
- cd /tmp/newroot
- sbin/pivot_root . oldroot
- bin/mknod dev/console c 5 1
- exec sbin/chroot . sbin/init < dev/console > dev/console 2>&1
-fi
+ $e "++++ no /sbin/pivot_root on $i, trying normal chroot ++++"
+ $e "***********************************************************"
-$e "no /sbin/pivot_root on sda1, trying normal chroot"
+ if /bin/test -x /tmp/newroot/sbin/init; then
+ $e "++++++++++++ run System from $i ++++++++++++"
+ $e "********************************************"
+ exec /sbin/chroot /tmp/newroot /sbin/init
+ fi
+ fi
+ /bin/umount /tmp/newroot
+done
-if /bin/test -x /tmp/newroot/sbin/init; then
- exec /sbin/chroot /tmp/newroot /sbin/init
-fi
+/bin/rmdir /tmp/newroot
-$e "no /sbin/init on sda1, booting from flash."
+$e "*************************************************"
+$e "+++ mount failed, doing normal init. Goodbye! +++"
+$e "*************************************************"
exec /sbin/init
+