Browse Source

generic: use magic_long in sysupgrade

Signed-off-by: Matthias Bücher <[email protected]>

SVN-Revision: 31200
Florian Fainelli 13 years ago
parent
commit
b545c4b4fe
1 changed files with 11 additions and 4 deletions
  1. 11 4
      target/linux/orion/generic/base-files/lib/upgrade/platform.sh

+ 11 - 4
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}."