diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-06-17 11:09:10 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-06-17 11:09:10 +0000 |
commit | c6fe201fb6984094abf236ec2ce77698b361653a (patch) | |
tree | a46a6d5e6458eba8e1ae9ece5c343b7190bb34a3 /package/base-files/files/lib/upgrade | |
parent | 969ea86b06f019b03cc0018611826129900b7dfa (diff) | |
download | master-31e0f0ae-c6fe201fb6984094abf236ec2ce77698b361653a.tar.gz master-31e0f0ae-c6fe201fb6984094abf236ec2ce77698b361653a.tar.bz2 master-31e0f0ae-c6fe201fb6984094abf236ec2ce77698b361653a.zip |
sysupgrade: sync *before* mtd write, only fallback to sysrq-trigger if standard reboot fails
SVN-Revision: 16488
Diffstat (limited to 'package/base-files/files/lib/upgrade')
-rw-r--r-- | package/base-files/files/lib/upgrade/common.sh | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index d0ae8fef5b..2c392496a0 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -142,12 +142,12 @@ jffs2_copy_config() { } default_do_upgrade() { + sync if [ "$SAVE_CONFIG" -eq 1 -a -z "$USE_REFRESH" ]; then get_image "$1" | mtd -j "$CONF_TAR" write - "${PART_NAME:-image}" else get_image "$1" | mtd write - "${PART_NAME:-image}" fi - sync } do_upgrade() { @@ -157,7 +157,7 @@ do_upgrade() { else default_do_upgrade "$ARGV" fi - + [ "$SAVE_CONFIG" -eq 1 -a -n "$USE_REFRESH" ] && { v "Refreshing partitions" if type 'platform_refresh_partitions' >/dev/null 2>/dev/null; then @@ -175,7 +175,8 @@ do_upgrade() { [ -n "$DELAY" ] && sleep "$DELAY" ask_bool 1 "Reboot" && { v "Rebooting system..." - echo b 2>/dev/null >/proc/sysrq-trigger reboot + sleep 5 + echo b 2>/dev/null >/proc/sysrq-trigger } } |