diff options
Diffstat (limited to 'target/linux/ar71xx/base-files/lib/upgrade')
-rwxr-xr-x | target/linux/ar71xx/base-files/lib/upgrade/platform.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index d42a704e57..910da52bb7 100755 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ -2,6 +2,7 @@ # Copyright (C) 2011 OpenWrt.org # +. /lib/functions/system.sh . /lib/ar71xx.sh PART_NAME=firmware @@ -106,6 +107,29 @@ platform_do_upgrade_compex() { fi } +alfa_check_image() { + local magic_long="$(get_magic_long "$1")" + local fw_part_size=$(mtd_get_part_size firmware) + + case "$magic_long" in + "27051956") + [ "$fw_part_size" != "16318464" ] && { + echo "Invalid image magic \"$magic_long\" for $fw_part_size bytes" + return 1 + } + ;; + + "68737173") + [ "$fw_part_size" != "7929856" ] && { + echo "Invalid image magic \"$magic_long\" for $fw_part_size bytes" + return 1 + } + ;; + esac + + return 0 +} + platform_check_image() { local board=$(ar71xx_board_name) local magic="$(get_magic_word "$1")" @@ -293,6 +317,12 @@ platform_check_image() { return 0 ;; + + tube2h) + alfa_check_image "$1" && return 0 + return 1 + ;; + uap-pro) [ "$magic_long" != "19852003" ] && { echo "Invalid image type." |