base-files: fwtool: Fix wrong checksum on combined-image with metadata
authorPetr Štetiar <ynezz@true.cz>
Fri, 9 Nov 2018 11:27:12 +0000 (12:27 +0100)
committerJohn Crispin <john@phrozen.org>
Mon, 26 Nov 2018 11:05:45 +0000 (12:05 +0100)
If I create following image:

define Device/engenius-m36
  IMAGE/sysupgrade.bin := combined-image | append-metadata
endef

Sysupgrade then errors out:

  Invalid image. Contents do not match checksum (image:cd285595eaf297370404ae0e2815ec1a calculated:2cf9a2286fb6b01af3ea189128017d44)
  Image check 'platform_check_image' failed.

By removing the metadata from the image I get combined-image checksum
working again and sysupgrade works.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
package/base-files/files/lib/upgrade/fwtool.sh

index 3f28fccd904dc0ae1019ad31ad11b5a1c220b905..e0e5c96c89ba91cdd17f0a928d67099ac226909e 100644 (file)
@@ -28,7 +28,7 @@ fwtool_check_image() {
 
        . /usr/share/libubox/jshn.sh
 
-       if ! fwtool -q -i /tmp/sysupgrade.meta "$1"; then
+       if ! fwtool -q -t -i /tmp/sysupgrade.meta "$1"; then
                echo "Image metadata not found"
                [ "$REQUIRE_IMAGE_METADATA" = 1 -a "$FORCE" != 1 ] && {
                        echo "Use sysupgrade -F to override this check when downgrading or flashing to vendor firmware"