bcm53xx: switch to the otrx for verifying TRX images
authorRafał Miłecki <zajec5@gmail.com>
Thu, 9 Apr 2015 06:33:56 +0000 (06:33 +0000)
committerRafał Miłecki <zajec5@gmail.com>
Thu, 9 Apr 2015 06:33:56 +0000 (06:33 +0000)
This adds checking CRC32 of provided firmware image.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 45320

target/linux/bcm53xx/Makefile
target/linux/bcm53xx/base-files/lib/upgrade/platform.sh

index 5b5e607..8b7f71b 100644 (file)
@@ -23,7 +23,7 @@ endef
 
 KERNELNAME:=zImage dtbs
 
-DEFAULT_PACKAGES += swconfig wpad-mini nvram \
+DEFAULT_PACKAGES += swconfig wpad-mini nvram otrx \
        kmod-gpio-button-hotplug \
        kmod-leds-gpio kmod-ledtrig-default-on kmod-ledtrig-timer
 
index e174cc7..ed84386 100644 (file)
@@ -54,20 +54,6 @@ platform_identify() {
        echo "unknown"
 }
 
-# $(1): image that should contain trx
-# $(2): trx offset in image
-platform_check_image_trx() {
-       local magic=$(get_magic_long_at "$1" $2)
-
-       [ "$magic" != "48445230" ] && {
-               return 1
-       }
-
-       # TODO: Check crc32
-
-       return 0
-}
-
 platform_check_image() {
        [ "$#" -gt 1 ] && return 1
 
@@ -93,7 +79,7 @@ platform_check_image() {
                                error=1
                        }
 
-                       if ! platform_check_image_trx "$1" "$header_len"; then
+                       if ! otrx -c "$1" -o "$header_len"; then
                                echo "No valid TRX firmware in the CHK image"
                                error=1
                        fi
@@ -108,12 +94,16 @@ platform_check_image() {
                                error=1
                        }
 
-                       if ! platform_check_image_trx "$1" 32; then
+                       if ! otrx -c "$1" -o 32; then
                                echo "No valid TRX firmware in the CyberTAN image"
                                error=1
                        fi
                ;;
                "trx")
+                       if ! otrx -c "$1"; then
+                               echo "Invalid (corrupted?) TRX firmware"
+                               error=1
+                       fi
                ;;
                *)
                        echo "Invalid image type. Please use only .trx files"