[openwrt/openwrt] build: add UIMAGE_MAGIC to device variables

LEDE Commits lede-commits at lists.infradead.org
Wed Nov 25 12:53:15 EST 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/c20b8d690bec265693b3eb250e1ba1e8ed3abae4

commit c20b8d690bec265693b3eb250e1ba1e8ed3abae4
Author: Sander Vanheule <sander at svanheule.net>
AuthorDate: Wed Nov 4 10:21:15 2020 +0100

    build: add UIMAGE_MAGIC to device variables
    
    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: df8e6be59a1f ("rtl838x: add new architecture")
    [UIMAGE_MAGIC was not declared as a device variable]
    
    Signed-off-by: Sander Vanheule <sander at svanheule.net>
    [rebase, improve formatting of "Fixes"]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 include/image-commands.mk | 1 +
 include/image.mk          | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/image-commands.mk b/include/image-commands.mk
index de4c86c24a..979eafb157 100644
--- a/include/image-commands.mk
+++ b/include/image-commands.mk
@@ -402,6 +402,7 @@ define Build/uImage
 		-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))' \
+		$(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC)) \
 		$(wordlist 2,$(words $(1)),$(1)) \
 		-d $@ $@.new
 	mv $@.new $@
diff --git a/include/image.mk b/include/image.mk
index eabc9ece0b..4e7c31e8dc 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 \



More information about the lede-commits mailing list