brcm2708: convert to metadata

This patch converts all the raspberrypi images to utilize
the common metadata-based image verification.

Note: the CM1 and CM3 currently use the same "rpi-cm"
boardname.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
openwrt-18.06
Christian Lamparter 2017-12-17 15:18:46 +01:00 committed by Álvaro Fernández Rojas
parent 67c1c145f0
commit e79b096ee1
2 changed files with 7 additions and 17 deletions

View File

@ -1,20 +1,7 @@
get_magic_at() { REQUIRE_IMAGE_METADATA=1
local file="$1"
local pos="$2"
get_image "$file" | dd bs=1 count=2 skip="$pos" 2>/dev/null | hexdump -v -n 2 -e '1/1 "%02x"'
}
platform_check_image() { platform_check_image() {
local file="$1" return 0
local magic
magic=$(get_magic_at "$file" 510)
[ "$magic" != "55aa" ] && {
echo "Failed to verify MBR boot signature."
return 1
}
return 0;
} }
platform_do_upgrade() { platform_do_upgrade() {

View File

@ -50,13 +50,14 @@ define Device/Default
FILESYSTEMS := ext4 FILESYSTEMS := ext4
KERNEL := kernel-bin | kernel-img KERNEL := kernel-bin | kernel-img
KERNEL_IMG := kernel.img KERNEL_IMG := kernel.img
IMAGES := sdcard.img IMAGES := sdcard.img.gz
IMAGE/sdcard.img := boot-img | sdcard-img IMAGE/sdcard.img.gz := boot-img | sdcard-img | gzip | append-metadata
endef endef
define Device/rpi define Device/rpi
DEVICE_TITLE := Raspberry Pi B/B+/CM/Zero/ZeroW DEVICE_TITLE := Raspberry Pi B/B+/CM/Zero/ZeroW
DEVICE_DTS := bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm bcm2708-rpi-0-w DEVICE_DTS := bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm bcm2708-rpi-0-w
SUPPORTED_DEVICES := rpi-b rpi-b-plus rpi-cm rpi-zero-w
endef endef
ifeq ($(SUBTARGET),bcm2708) ifeq ($(SUBTARGET),bcm2708)
TARGET_DEVICES += rpi TARGET_DEVICES += rpi
@ -65,6 +66,7 @@ endif
define Device/rpi-2 define Device/rpi-2
DEVICE_TITLE := Raspberry Pi 2B/3B/3CM DEVICE_TITLE := Raspberry Pi 2B/3B/3CM
DEVICE_DTS := bcm2709-rpi-2-b bcm2710-rpi-3-b bcm2710-rpi-cm3 DEVICE_DTS := bcm2709-rpi-2-b bcm2710-rpi-3-b bcm2710-rpi-cm3
SUPPORTED_DEVICES := rpi-2-b rpi-3-b rpi-cm
endef endef
ifeq ($(SUBTARGET),bcm2709) ifeq ($(SUBTARGET),bcm2709)
TARGET_DEVICES += rpi-2 TARGET_DEVICES += rpi-2
@ -74,6 +76,7 @@ define Device/rpi-3
KERNEL_IMG := kernel8.img KERNEL_IMG := kernel8.img
DEVICE_TITLE := Raspberry Pi 3B (64 bit) DEVICE_TITLE := Raspberry Pi 3B (64 bit)
DEVICE_DTS := broadcom/bcm2710-rpi-3-b DEVICE_DTS := broadcom/bcm2710-rpi-3-b
SUPPORTED_DEVICES := rpi-3-b
endef endef
ifeq ($(SUBTARGET),bcm2710) ifeq ($(SUBTARGET),bcm2710)
TARGET_DEVICES += rpi-3 TARGET_DEVICES += rpi-3