summaryrefslogtreecommitdiffstats
path: root/openwrt/package/base-files/default/etc/preinit
blob: 88c8920c9416dfdd867f2160d6f8b09526b1f3b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
. /etc/nvram.sh
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
mount none /proc -t proc
insmod 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
	export FAILSAFE=true
	[ -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

mount_root ${FAILSAFE:+failsafe}

exec /sbin/init