projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add sysupgrade script for config preserving system upgrades. only implemented for...
[openwrt.git]
/
package
/
base-files
/
files
/
etc
/
preinit
diff --git
a/package/base-files/files/etc/preinit
b/package/base-files/files/etc/preinit
index
e5fdd43
..
452209f
100755
(executable)
--- a/
package/base-files/files/etc/preinit
+++ b/
package/base-files/files/etc/preinit
@@
-3,7
+3,16
@@
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
. /etc/diag.sh
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() {
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
}
lock /tmp/.failsafe
ash --login
}
@@
-44,13
+53,21
@@
dd if=/dev/console of=/dev/null bs=1 count=0 >/dev/null 2>/dev/null && {
exec <$M0 >$M1 2>&0
echo "- preinit -"
exec <$M0 >$M1 2>&0
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
[ -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 -"
echo "- init -"
This page took
0.041449 seconds
and
4
git commands to generate.