diff options
author | Sander Vanheule <sander@svanheule.net> | 2020-11-04 10:21:15 +0100 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-11-25 15:55:26 +0100 |
commit | c20b8d690bec265693b3eb250e1ba1e8ed3abae4 (patch) | |
tree | e2cab0d02f16dc5f672e15c6f9e6bc7996316669 | |
parent | 9f574b1b875cd6e5dbb521b841c9196995b46bfc (diff) | |
download | upstream-c20b8d690bec265693b3eb250e1ba1e8ed3abae4.tar.gz upstream-c20b8d690bec265693b3eb250e1ba1e8ed3abae4.tar.bz2 upstream-c20b8d690bec265693b3eb250e1ba1e8ed3abae4.zip |
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@svanheule.net>
[rebase, improve formatting of "Fixes"]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
-rw-r--r-- | include/image-commands.mk | 1 | ||||
-rw-r--r-- | include/image.mk | 4 |
2 files changed, 4 insertions, 1 deletions
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 \ |