소스 검색

mk: kernel-build: Support new style of appending a DTB

This is needed by rb493g which has to boot a compressed kernel which has
a DTB appended. Haven't found an easier way of achieving this.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Phil Sutter 1 주 전
부모
커밋
b7492d5be8
2개의 변경된 파일10개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      mk/kernel-build.mk
  2. 3 0
      target/linux/config/Config.in.mips

+ 7 - 0
mk/kernel-build.mk

@@ -96,9 +96,16 @@ endif
 $(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config
 	$(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-compile.. "
 ifneq ($(ADK_TARGET_KERNEL_APPEND_DTB),)
+ifneq ($(ADK_LINUX_KERNEL_MIPS_ELF_APPENDED_DTB),)
+	${KERNEL_MAKE} vmlinux dtbs $(MAKE_TRACE)
+	$(TARGET_CROSS)objcopy --update-section \
+		.appended_dtb=$(LINUX_DIR)/arch/mips/boot/dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb \
+		$(LINUX_DIR)/vmlinux
+else
 	${KERNEL_MAKE} zImage dtbs $(MAKE_TRACE)
 	(cd $(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/boot && \
 	 cat dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb >> zImage)
+endif
 endif
 	${KERNEL_MAKE}  $(KERNEL_TARGET) $(MAKE_TRACE)
 	$(CMD_TRACE) " done"

+ 3 - 0
target/linux/config/Config.in.mips

@@ -19,6 +19,9 @@ config ADK_LINUX_KERNEL_CPU_MIPS64_R2
 config ADK_LINUX_KERNEL_CPU_MIPS64_R6
 	bool
 
+config ADK_LINUX_KERNEL_MIPS_ELF_APPENDED_DTB
+	bool
+
 menu "MIPS devices support"
 depends on ADK_TARGET_SYSTEM_LEMOTE_YEELONG