diff options
-rw-r--r-- | mk/image.mk | 5 | ||||
-rw-r--r-- | mk/kernel-build.mk | 5 | ||||
-rw-r--r-- | target/config/Config.in.kernelfmt | 3 |
3 files changed, 13 insertions, 0 deletions
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 |