summaryrefslogtreecommitdiff
path: root/openwrt/package/base-files/default/etc/preinit
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/package/base-files/default/etc/preinit')
-rwxr-xr-xopenwrt/package/base-files/default/etc/preinit17
1 files changed, 17 insertions, 0 deletions
diff --git a/openwrt/package/base-files/default/etc/preinit b/openwrt/package/base-files/default/etc/preinit
new file mode 100755
index 0000000..0c59893
--- /dev/null
+++ b/openwrt/package/base-files/default/etc/preinit
@@ -0,0 +1,17 @@
+#!/bin/sh
+mount none /proc -t proc
+insmod diag
+echo 0x01 > /proc/sys/diag
+sleep 1
+if [ $(cat /proc/sys/reset) = 1 ] || [ "$(/usr/sbin/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
+ }
+ while :; do { echo $(((X=(X+1)%8)%2)) > /proc/sys/diag; sleep $((X==0)); } done &
+fi
+
+/sbin/mount_root ${FAILSAFE:+failsafe}
+
+exec /sbin/init