mvebu: use image metadata for firmware validation

Signed-off-by: Felix Fietkau <nbd@nbd.name>
master
Felix Fietkau 8 years ago
parent d596c21ebd
commit 9fc0bcdd18
  1. 23
      target/linux/mvebu/base-files/lib/upgrade/platform.sh
  2. 5
      target/linux/mvebu/image/Makefile

@ -6,29 +6,10 @@
. /lib/mvebu.sh . /lib/mvebu.sh
RAMFS_COPY_DATA=/lib/mvebu.sh RAMFS_COPY_DATA=/lib/mvebu.sh
REQUIRE_IMAGE_METADATA=1
platform_check_image() { platform_check_image() {
local board=$(mvebu_board_name) return 0
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
} }
platform_do_upgrade() { platform_do_upgrade() {

@ -61,11 +61,12 @@ define Device/Default
BOARD_NAME = $$(DEVICE_DTS) BOARD_NAME = $$(DEVICE_DTS)
KERNEL_NAME := zImage KERNEL_NAME := zImage
KERNEL := kernel-bin | append-dtb | uImage none KERNEL := kernel-bin | append-dtb | uImage none
SUPPORTED_DEVICES = $$(DEVICE_DTS)
endef endef
define Device/UBI define Device/UBI
IMAGES := sysupgrade.bin IMAGES := sysupgrade.bin
IMAGE/sysupgrade.bin := sysupgrade-tar IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef endef
define Device/UBI-factory define Device/UBI-factory
@ -146,6 +147,7 @@ TARGET_DEVICES += linksys-wrt1900ac
define Device/openblocks-ax3 define Device/openblocks-ax3
$(Device/UBI-factory) $(Device/UBI-factory)
DEVICE_DTS := armada-xp-openblocks-ax3-4 DEVICE_DTS := armada-xp-openblocks-ax3-4
SUPPORTED_DEVCES := $(1)
BLOCKSIZE := 128k BLOCKSIZE := 128k
PAGESIZE := 1 PAGESIZE := 1
IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi
@ -194,6 +196,7 @@ TARGET_DEVICES += armada-388-clearfog
define Device/globalscale-mirabox define Device/globalscale-mirabox
$(Device/NAND-512K) $(Device/NAND-512K)
DEVICE_DTS := armada-370-mirabox DEVICE_DTS := armada-370-mirabox
SUPPORTED_DEVCES := mirabox
DEVICE_TITLE := Globalscale Mirabox DEVICE_TITLE := Globalscale Mirabox
endef endef
TARGET_DEVICES += globalscale-mirabox TARGET_DEVICES += globalscale-mirabox

Loading…
Cancel
Save