Allow a device recipe to specify a custom UIMAGE_MAGIC value, as used by OpenWrt's -M flag for mkimage. This allows to automatically customize the magic bytes in all calls to Build/uImage for this device, similar to the behaviour of UIMAGE_NAME. Since the -M argument is inserted before the user arguments, it can be overriden.
The following example would use 0x87654321 for the KERNEL image, but 0x12345678 for the KERNEL_INITRAMFS image: define Device/MyDevice UIMAGE_MAGIC := 0x87654321 KERNEL := ... | uImage lzma KERNEL_INITRAMFS := ... | uImage lzma -M 0x12345678 ... endef Fixes df8e6be59a "rtl838x: add new architecture" where UIMAGE_MAGIC was not declared as a device variable. Signed-off-by: Sander Vanheule <san...@svanheule.net> --- include/image-commands.mk | 2 +- include/image.mk | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/image-commands.mk b/include/image-commands.mk index a8faefbcff..fb3d596957 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -398,7 +398,7 @@ define Build/uImage -O linux -T kernel \ -C $(word 1,$(1)) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ -n '$(if $(UIMAGE_NAME),$(UIMAGE_NAME),$(call toupper,$(LINUX_KARCH)) $(VERSION_DIST) Linux-$(LINUX_VERSION))' \ - $(wordlist 2,$(words $(1)),$(1)) -d $@ $@.new + $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC)) $(wordlist 2,$(words $(1)),$(1)) -d $@ $@.new mv $@.new $@ endef diff --git a/include/image.mk b/include/image.mk index de08d04aa4..bd4f8d8d6e 100644 --- a/include/image.mk +++ b/include/image.mk @@ -400,6 +400,7 @@ define Device/Init SOC := BOARD_NAME := + UIMAGE_MAGIC := UIMAGE_NAME := DEVICE_COMPAT_VERSION := 1.0 DEVICE_COMPAT_MESSAGE := @@ -419,7 +420,8 @@ DEFAULT_DEVICE_VARS := \ CMDLINE UBOOTENV_IN_UBI KERNEL_IN_UBI BLOCKSIZE PAGESIZE SUBPAGESIZE \ VID_HDR_OFFSET UBINIZE_OPTS UBINIZE_PARTS MKUBIFS_OPTS DEVICE_DTS \ DEVICE_DTS_CONFIG DEVICE_DTS_DIR DEVICE_FDT_NUM SOC BOARD_NAME \ - UIMAGE_NAME SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \ + UIMAGE_MAGIC UIMAGE_NAME \ + SUPPORTED_DEVICES IMAGE_METADATA KERNEL_ENTRY KERNEL_LOADADDR \ UBOOT_PATH IMAGE_SIZE \ DEVICE_COMPAT_VERSION DEVICE_COMPAT_MESSAGE \ DEVICE_VENDOR DEVICE_MODEL DEVICE_VARIANT \ -- 2.28.0 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel