[OE-core] [PATCH] kernel-fitimage: Allow DTB file relocation at boot time

Mihai Serban mihai.serban at gmail.com
Fri Jun 15 16:18:18 UTC 2018


Use UBOOT_DTB_LOADADDRESS and UBOOT_DTB_ENTRYPOINT variables to instruct
U-Boot where to place the selected DTB file when booting the system.
Without these settings U-Boot uses the relative offset where DTB resides
inside the loading address of the FIT image.

Signed-off-by: Mihai Serban <mihai.serban at gmail.com>
---
 meta/classes/kernel-fitimage.bbclass | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
index 50a91e199069..981d11f19f8d 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -134,6 +134,15 @@ EOF
 fitimage_emit_section_dtb() {
 
 	dtb_csum="sha1"
+	dtb_loadline=""
+	dtb_entryline=""
+
+	if [ -n "${UBOOT_DTB_LOADADDRESS}" ]; then
+		dtb_loadline="load = <${UBOOT_DTB_LOADADDRESS}>;"
+	fi
+	if [ -n "${UBOOT_DTB_ENTRYPOINT}" ]; then
+		dtb_entryline="entry = <${UBOOT_DTB_ENTRYPOINT}>;"
+	fi
 
 	cat << EOF >> ${1}
                 fdt@${2} {
@@ -142,6 +151,8 @@ fitimage_emit_section_dtb() {
                         type = "flat_dt";
                         arch = "${UBOOT_ARCH}";
                         compression = "none";
+                        ${dtb_loadline}
+                        ${dtb_entryline}
                         hash at 1 {
                                 algo = "${dtb_csum}";
                         };
-- 
2.17.1




More information about the Openembedded-core mailing list