diff --git a/target/linux/orion/generic/base-files/lib/upgrade/platform.sh b/target/linux/orion/generic/base-files/lib/upgrade/platform.sh index fdd26c5176c..9c9967e4afb 100644 --- a/target/linux/orion/generic/base-files/lib/upgrade/platform.sh +++ b/target/linux/orion/generic/base-files/lib/upgrade/platform.sh @@ -1,3 +1,7 @@ +# +# Copyright (C) 2010-2011 OpenWrt.org +# + # use default "image" for PART_NAME # use default for platform_do_upgrade() @@ -6,17 +10,20 @@ platform_check_image() { local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo` local magic="$(get_magic_word "$1")" + local magic_long="$(get_magic_long "$1")" case "${hardware}" in - # hardware with padded uImage + padded rootfs + # hardware with a direct uImage partition + # image header format as described in U-Boot's include/image.h + # see http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=include/image.h 'Linksys WRT350N v2') - [ "${magic}" != '2705' ] && { - echo "Invalid image type ${magic}." + [ "${magic_long}" != '27051956' ] && { + echo "Invalid image type ${magic_long}." return 1 } return 0 ;; - # Netgear WNR854T has extra header before uImage + # Netgear WNR854T (has uImage as file inside a JFFS2 partition) 'Netgear WNR854T') [ "${magic}" != '8519' ] && { echo "Invalid image type ${magic}."