From 83838a890a17d522bb43e8834a42a7cc77a4313f Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 15 Nov 2021 00:18:01 +0100 Subject: mk: Support appending a DTB to kernel image Activated by setting ADK_TARGET_KERNEL_APPEND_DTB symbol to the basename (without suffix) of a dtb file. Not quite user-friendly, but really meant for internal use via default symbol values depending on chosen target system. Signed-off-by: Phil Sutter --- mk/image.mk | 5 +++++ mk/kernel-build.mk | 5 +++++ target/config/Config.in.kernelfmt | 3 +++ 3 files changed, 13 insertions(+) diff --git a/mk/image.mk b/mk/image.mk index 577343b91..cf870ba48 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -313,6 +313,11 @@ ifeq ($(ADK_LINUX_KERNEL_COMPRESS_NONE),y) echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config endif @-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null +ifneq ($(ADK_TARGET_KERNEL_APPEND_DTB),) + ${KERNEL_MAKE} zImage dtbs $(MAKE_TRACE) + (cd $(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/boot && \ + cat dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb >> zImage) +endif ${KERNEL_MAKE} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index 3b8669731..bae7ab168 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -88,6 +88,11 @@ endif $(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-compile.. " +ifneq ($(ADK_TARGET_KERNEL_APPEND_DTB),) + ${KERNEL_MAKE} zImage dtbs $(MAKE_TRACE) + (cd $(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/boot && \ + cat dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb >> zImage) +endif ${KERNEL_MAKE} $(KERNEL_TARGET) $(MAKE_TRACE) $(CMD_TRACE) " done" $(END_TRACE) diff --git a/target/config/Config.in.kernelfmt b/target/config/Config.in.kernelfmt index bf35f6ba4..b76819cd5 100644 --- a/target/config/Config.in.kernelfmt +++ b/target/config/Config.in.kernelfmt @@ -68,3 +68,6 @@ config ADK_TARGET_KERNEL_LOADADDR hex default 0x40008000 if ADK_TARGET_SYSTEM_BANANA_PRO default 0x40008000 if ADK_TARGET_SYSTEM_ORANGE_PI0 + +config ADK_TARGET_KERNEL_APPEND_DTB + string -- cgit v1.2.3