aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-06-17 11:09:10 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-06-17 11:09:10 +0000
commitc6fe201fb6984094abf236ec2ce77698b361653a (patch)
treea46a6d5e6458eba8e1ae9ece5c343b7190bb34a3
parent969ea86b06f019b03cc0018611826129900b7dfa (diff)
downloadupstream-c6fe201fb6984094abf236ec2ce77698b361653a.tar.gz
upstream-c6fe201fb6984094abf236ec2ce77698b361653a.tar.bz2
upstream-c6fe201fb6984094abf236ec2ce77698b361653a.zip
sysupgrade: sync *before* mtd write, only fallback to sysrq-trigger if standard reboot fails
SVN-Revision: 16488
-rw-r--r--package/base-files/Makefile2
-rw-r--r--package/base-files/files/lib/upgrade/common.sh7
2 files changed, 5 insertions, 4 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 81d63d9ffd..f9ad4e7366 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=base-files
-PKG_RELEASE:=22
+PKG_RELEASE:=23
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
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
}
}