mvebu: use image metadata for firmware validation
authorFelix Fietkau <nbd@nbd.name>
Mon, 21 Nov 2016 10:59:37 +0000 (11:59 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 24 Nov 2016 11:53:17 +0000 (12:53 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/mvebu/base-files/lib/upgrade/platform.sh
target/linux/mvebu/image/Makefile

index a8ad602..77578e2 100755 (executable)
@@ -6,29 +6,10 @@
 . /lib/mvebu.sh
 
 RAMFS_COPY_DATA=/lib/mvebu.sh
+REQUIRE_IMAGE_METADATA=1
 
 platform_check_image() {
-       local board=$(mvebu_board_name)
-       local magic_long="$(get_magic_long "$1")"
-
-       [ "$#" -gt 1 ] && return 1
-
-       case "$board" in
-       armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
-               [ "$magic_long" != "27051956" -a "$magic_long" != "73797375" ] && {
-                       echo "Invalid image type."
-                       return 1
-               }
-               return 0;
-               ;;
-       armada-388-clearfog)
-               platform_check_image_clearfog "$ARGV"
-               return $?
-               ;;
-       esac
-
-       echo "Sysupgrade is not yet supported on $board."
-       return 1
+       return 0
 }
 
 platform_do_upgrade() {
index 73c533a..8b203a4 100644 (file)
@@ -61,11 +61,12 @@ define Device/Default
   BOARD_NAME = $$(DEVICE_DTS)
   KERNEL_NAME := zImage
   KERNEL := kernel-bin | append-dtb | uImage none
+  SUPPORTED_DEVICES = $$(DEVICE_DTS)
 endef
 
 define Device/UBI
   IMAGES := sysupgrade.bin
-  IMAGE/sysupgrade.bin := sysupgrade-tar
+  IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
 endef
 
 define Device/UBI-factory
@@ -146,6 +147,7 @@ TARGET_DEVICES += linksys-wrt1900ac
 define Device/openblocks-ax3
   $(Device/UBI-factory)
   DEVICE_DTS := armada-xp-openblocks-ax3-4
+  SUPPORTED_DEVCES := $(1)
   BLOCKSIZE := 128k
   PAGESIZE := 1
   IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi
@@ -194,6 +196,7 @@ TARGET_DEVICES += armada-388-clearfog
 define Device/globalscale-mirabox
   $(Device/NAND-512K)
   DEVICE_DTS := armada-370-mirabox
+  SUPPORTED_DEVCES := mirabox
   DEVICE_TITLE := Globalscale Mirabox
 endef
 TARGET_DEVICES += globalscale-mirabox