[orion] generic: use magic_long in sysupgrade
authorFlorian Fainelli <florian@openwrt.org>
Wed, 4 Apr 2012 16:06:29 +0000 (16:06 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Wed, 4 Apr 2012 16:06:29 +0000 (16:06 +0000)
Signed-off-by: Matthias Bücher <mail@maddes.net>
SVN-Revision: 31200

target/linux/orion/generic/base-files/lib/upgrade/platform.sh

index fdd26c5176c9b2b5d33a3df6c4a56a701087e009..9c9967e4afbb1397e34540d774531061ad178340 100644 (file)
@@ -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}."