aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Thomson <git@johnthomson.fastmail.com.au>2020-10-15 19:06:41 +1000
committerChuanhong Guo <gch981213@gmail.com>2020-10-29 21:35:03 +0800
commit9a168b51c3a60c95ccd349dd3010615ba6b0e033 (patch)
tree923183433924f4998c1d6ed9c58740ab87f1637d
parentc063e27e02a9dcac0e7f5877fb154e58fa3e1a69 (diff)
downloadupstream-9a168b51c3a60c95ccd349dd3010615ba6b0e033.tar.gz
upstream-9a168b51c3a60c95ccd349dd3010615ba6b0e033.tar.bz2
upstream-9a168b51c3a60c95ccd349dd3010615ba6b0e033.zip
build: image: add append-dtb-elf helper
The mips kernel vmlinux image supports adding an empty ELF section for DTB to be later inserted into with MIPS_ELF_APPENDED_DTB. This ELF + inserted DTB image can then be directly booted on some devices. Example usage: image/subtarget.mk: KERNEL_NAME := vmlinux.elf KERNEL_INITRAMFS_NAME := vmlinux-initramfs.elf KERNEL := kernel-bin | append-dtb-elf On mt7621 memory size needed to be manually specified. Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
-rw-r--r--include/image-commands.mk7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/image-commands.mk b/include/image-commands.mk
index 740d627fc7..ea94059d20 100644
--- a/include/image-commands.mk
+++ b/include/image-commands.mk
@@ -142,6 +142,13 @@ define Build/append-dtb
cat $(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb >> $@
endef
+define Build/append-dtb-elf
+ $(TARGET_CROSS)objcopy \
+ --set-section-flags=.appended_dtb=alloc,contents \
+ --update-section \
+ .appended_dtb=$(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb $@
+endef
+
define Build/install-dtb
$(call locked, \
$(foreach dts,$(DEVICE_DTS), \