export PATH=/bin:/sbin:/usr/bin:/usr/sbin
. /etc/diag.sh
+failsafe_ip() {
+ ifconfig $ifname 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
+}
+
failsafe() {
+ [ -n "$ifname" ] && grep "$ifname" /proc/net/dev >/dev/null && {
+ failsafe_ip
+ netmsg 192.168.1.255 "Entering Failsafe!"
+ telnetd -l /bin/login <> /dev/null 2>&1
+ }
lock /tmp/.failsafe
ash --login
}
mount -t tmpfs tmpfs /dev -o size=512K
mknod /dev/console c 5 1
mkdir /dev/shm
- /sbin/hotplug2 --no-persistent --coldplug --set-rules-file /etc/hotplug2-init.rules
+ /sbin/hotplug2 --coldplug --set-rules-file /etc/hotplug2-init.rules
+ /sbin/hotplug2 --no-coldplug --persistent --set-rules-file /etc/hotplug2-init.rules &
M0=/dev/ptmx
M1=/dev/ptmx
HOTPLUG=
exec <$M0 >$M1 2>&0
-{
- echo "- preinit -"
- [ -e /etc/preinit.arch ] && . /etc/preinit.arch
- set_state preinit
-
- echo "$HOTPLUG" > /proc/sys/kernel/hotplug
-
- eval ${FAILSAFE:+failsafe}
- lock -w /tmp/.failsafe
-
- mount_root
-
- echo "- init -"
-} | tee /tmp/preinit.log
+echo "- preinit -"
+trap 'FAILSAFE=true' USR1
+[ -e /etc/preinit.arch ] && . /etc/preinit.arch
+set_state preinit
+echo "$HOTPLUG" > /proc/sys/kernel/hotplug
+eval ${FAILSAFE:+failsafe}
+lock -w /tmp/.failsafe
+mount_root
+[ -f /sysupgrade.tgz ] && {
+ echo "- config restore -"
+ cd /
+ mv sysupgrade.tgz /tmp
+ tar xzf /tmp/sysupgrade.tgz
+ rm -f /tmp/sysupgrade.tgz
+ sync
+}
+echo "- init -"
+
+killall hotplug2
exec /sbin/init