The dtb files must be before the dtbo files, otherwise the overlays may
not be applied correctly.

>From Bruce Ashfield:

  We can split between dtbs and dtbos, they just need to be sorted
  for reproducibility reasons. Two loops versus one, would be
  fine, with not too much duplicated code.

  Of course, this was only working by luck previously (before the
  sort), since it has always been gathering dtbs and dtbo's with
  find, depending on filesystem ordering for the order in the
  fitimage).

Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-r...@amd.com>
---
 meta/classes-recipe/kernel-fitimage.bbclass | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/kernel-fitimage.bbclass 
b/meta/classes-recipe/kernel-fitimage.bbclass
index 7980910aa8..cb6635a673 100644
--- a/meta/classes-recipe/kernel-fitimage.bbclass
+++ b/meta/classes-recipe/kernel-fitimage.bbclass
@@ -590,7 +590,7 @@ fitimage_assemble() {
 
        if [ -n "${EXTERNAL_KERNEL_DEVICETREE}" ]; then
                dtbcount=1
-               for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" \( -name 
'*.dtb' -o -name '*.dtbo' \) -printf '%P\n' | sort); do
+               for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" -name '*.dtb' 
-printf '%P\n' | sort); do
                        # Skip DTB if we've picked it up previously
                        echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
 
@@ -599,6 +599,18 @@ fitimage_assemble() {
                        # Also skip if a symlink. We'll later have each config 
section point at it
                        [ $(symlink_points_below $DTB 
"${EXTERNAL_KERNEL_DEVICETREE}") ] && continue
 
+                       DTB=$(echo $DTB | tr '/' '_')
+                       fitimage_emit_section_dtb $1 $DTB 
"${EXTERNAL_KERNEL_DEVICETREE}/$DTB"
+               done
+               for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" -name 
'*.dtbo' -printf '%P\n' | sort); do
+                       # Skip DTBO if we've picked it up previously
+                       echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
+
+                       DTBS="$DTBS $DTB"
+
+                       # Also skip if a symlink. We'll later have each config 
section point at it
+                       [ $(symlink_points_below $DTB 
"${EXTERNAL_KERNEL_DEVICETREE}") ] && continue
+
                        DTB=$(echo $DTB | tr '/' '_')
                        fitimage_emit_section_dtb $1 $DTB 
"${EXTERNAL_KERNEL_DEVICETREE}/$DTB"
                done
-- 
2.25.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#175376): 
https://lists.openembedded.org/g/openembedded-core/message/175376
Mute This Topic: https://lists.openembedded.org/mt/96043776/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to