summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-09-23 11:05:54 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-09-23 11:05:54 +0000
commit498cc73e5163eb5b4c910d369a0bfc5f46342f70 (patch)
tree7ce2d3a4832fed2c8b229b15ae8295fd0df6d908
parent82cd54f3ea9325bbd7958526f261ef6121896270 (diff)
fix sysupgrade support for brcm-2.4 and brcm47xx
make mtd refresh based config append optional (leave enabled on x86) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12657 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/base-files/files/lib/upgrade/common.sh17
-rw-r--r--target/linux/brcm-2.4/base-files/lib/upgrade/platform.sh16
-rw-r--r--target/linux/x86/base-files/lib/upgrade/platform.sh2
3 files changed, 21 insertions, 14 deletions
diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
index 59ac7a70b..7fc31e8b4 100644
--- a/package/base-files/files/lib/upgrade/common.sh
+++ b/package/base-files/files/lib/upgrade/common.sh
@@ -130,11 +130,24 @@ jffs2_copy_config() {
fi
}
+default_do_upgrade() {
+ 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() {
v "Performing system upgrade..."
- platform_do_upgrade "$ARGV"
+ if type 'platform_do_upgrade' >/dev/null 2>/dev/null; then
+ platform_do_upgrade "$ARGV"
+ else
+ default_do_upgrade "$ARGV"
+ fi
- [ "$SAVE_CONFIG" -eq 1 ] && {
+ [ "$SAVE_CONFIG" -eq 1 -a -n "$USE_REFRESH" ] && {
v "Refreshing partitions"
if type 'platform_refresh_partitions' >/dev/null 2>/dev/null; then
platform_refresh_partitions
diff --git a/target/linux/brcm-2.4/base-files/lib/upgrade/platform.sh b/target/linux/brcm-2.4/base-files/lib/upgrade/platform.sh
index ac53b9d59..9921cf571 100644
--- a/target/linux/brcm-2.4/base-files/lib/upgrade/platform.sh
+++ b/target/linux/brcm-2.4/base-files/lib/upgrade/platform.sh
@@ -1,24 +1,16 @@
+PART_NAME=linux
+
platform_check_image() {
[ "$ARGC" -gt 1 ] && return 1
case "$(get_magic_word "$1")" in
# .trx files
4844) return 0;;
- # .bin files
- 5735) return 0;;
*)
- echo "Invalid image type"
+ echo "Invalid image type. Please use only .trx files"
return 1
;;
esac
}
-platform_do_upgrade() {
- get_image "$1" > $(find_mtd_part "linux")
- sync
-}
-
-brcm_prepare_mtd() {
- [ "$SAVE_CONFIG" -eq 1 ] && return 0
-}
-append sysupgrade_pre_upgrade brcm_prepare_mtd
+# use default for platform_do_upgrade()
diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh
index f4c8334f3..6bae07b01 100644
--- a/target/linux/x86/base-files/lib/upgrade/platform.sh
+++ b/target/linux/x86/base-files/lib/upgrade/platform.sh
@@ -1,3 +1,5 @@
+USE_REFRESH=1
+
platform_check_image() {
[ "$ARGC" -gt 1 ] && return 1