export PATH=/bin:/sbin:/usr/bin:/usr/sbin
mount none /proc -t proc
insmod diag
-echo 0x01 > /proc/sys/diag
+[ -f /proc/sys/diag ] && echo 0x01 > /proc/sys/diag
sleep 1
-if [ ! -f /proc/sys/reset ] || [ $(cat /proc/sys/reset) = 1 -o "$(nvram get failsafe)" = 1 ]; then
+if [ -f /proc/sys/reset ] && [ $(cat /proc/sys/reset) = 1 -o "$(nvram get failsafe)" = 1 ]; then
export FAILSAFE=true
- [ "$(nvram get boot_wait)" != "on" ] && {
+ [ -x /usr/sbin/nvram -a "$(nvram get boot_wait)" != "on" ] && {
nvram set boot_wait=on
nvram commit
}
mount_root ${FAILSAFE:+failsafe}
+# automagically run firstboot
+[ -z "$FAILSAFE" -a -z "$(nvram get no_root_swap)" ] && {
+ { mount|grep "on / type jffs2" 1>&-; } || firstboot
+}
+
+grep sysfs /proc/filesystems >&- 2>&- && {
+ mkdir -p /sys
+ mount -t sysfs none /sys
+}
+
exec /sbin/init