X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/3d007394805916ceb2214bfd7e06d8a4899262c5..03404c74a04d5f864d079631c8b9c4ec499cd84d:/openwrt/package/base-files/default/etc/preinit diff --git a/openwrt/package/base-files/default/etc/preinit b/openwrt/package/base-files/default/etc/preinit index 0c59893f7..f82823ec9 100755 --- a/openwrt/package/base-files/default/etc/preinit +++ b/openwrt/package/base-files/default/etc/preinit @@ -1,17 +1,29 @@ #!/bin/sh +. /etc/nvram.sh +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 [ $(cat /proc/sys/reset) = 1 ] || [ "$(/usr/sbin/nvram get failsafe)" = 1 ]; then +if [ -f /proc/sys/reset ] && [ $(cat /proc/sys/reset) = 1 -o "$(nvram get failsafe)" = 1 ]; then export FAILSAFE=true - [ "$(/usr/sbin/nvram get boot_wait)" != "on" ] && { - /usr/sbin/nvram set boot_wait=on - /usr/sbin/nvram commit + [ -x /usr/sbin/nvram -a "$(nvram get boot_wait)" != "on" ] && { + nvram set boot_wait=on + nvram commit } while :; do { echo $(((X=(X+1)%8)%2)) > /proc/sys/diag; sleep $((X==0)); } done & fi -/sbin/mount_root ${FAILSAFE:+failsafe} +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