From: Ming Liu <[email protected]>

There are user cases that a developer wants to add both in-tree and
out-of-tree devicetrees to fitimage, and this is quite normal, for
instance, a developer might need the devicetrees from kernel source
meanwhile maintaining his/her own devicetree overlays to be applied
on top of them.

To support that, we now allow KERNEL_DEVICETREE and
EXTERNAL_KERNEL_DEVICETREE to be both set in configuration files, and
the devicetrees in EXTERNAL_KERNEL_DEVICETREE have higher priority to
override the same names in KERNEL_DEVICETREE.

Signed-off-by: Ming Liu <[email protected]>
---
 meta/classes/kernel-fitimage.bbclass | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/classes/kernel-fitimage.bbclass 
b/meta/classes/kernel-fitimage.bbclass
index f5082c93df..b9d8270027 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -535,13 +535,19 @@ fitimage_assemble() {
        # Step 2: Prepare a DTB image section
        #
 
-       if [ -z "${EXTERNAL_KERNEL_DEVICETREE}" ] && [ -n 
"${KERNEL_DEVICETREE}" ]; then
+       if [ -n "${KERNEL_DEVICETREE}" ]; then
                dtbcount=1
                for DTB in ${KERNEL_DEVICETREE}; do
                        if echo ${DTB} | grep -q '/dts/'; then
                                bbwarn "${DTB} contains the full path to the 
the dts file, but only the dtb name should be used."
                                DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
                        fi
+
+                       # Skip ${DTB} if it's also provided in 
${EXTERNAL_KERNEL_DEVICETREE}
+                       if [ -n "${EXTERNAL_KERNEL_DEVICETREE}" ] && [ -s 
${EXTERNAL_KERNEL_DEVICETREE}/${DTB} ]; then
+                               continue
+                       fi
+
                        DTB_PATH="arch/${ARCH}/boot/dts/${DTB}"
                        if [ ! -e "${DTB_PATH}" ]; then
                                DTB_PATH="arch/${ARCH}/boot/${DTB}"
@@ -769,4 +775,4 @@ python () {
         bb.build.deltask('do_assemble_fitimage', d)
         bb.build.deltask('generate_rsa_keys', d)
         bb.build.addtask('generate_rsa_keys', 
'do_assemble_fitimage_initramfs', 'do_bundle_initramfs', d)
-}
\ No newline at end of file
+}
-- 
2.29.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#149633): 
https://lists.openembedded.org/g/openembedded-core/message/149633
Mute This Topic: https://lists.openembedded.org/mt/81427978/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to