fix sysupgrade support for brcm-2.4 and brcm47xx
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 23 Sep 2008 11:05:54 +0000 (11:05 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 23 Sep 2008 11:05:54 +0000 (11:05 +0000)
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

package/base-files/files/lib/upgrade/common.sh
target/linux/brcm-2.4/base-files/lib/upgrade/platform.sh
target/linux/x86/base-files/lib/upgrade/platform.sh

index 59ac7a7..7fc31e8 100644 (file)
@@ -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
index ac53b9d..9921cf5 100644 (file)
@@ -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()
index f4c8334..6bae07b 100644 (file)
@@ -1,3 +1,5 @@
+USE_REFRESH=1
+
 platform_check_image() {
        [ "$ARGC" -gt 1 ] && return 1