All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Belal, Awais" <Awais_Belal@mentor.com>
To: "openembedded-core@lists.openembedded.org"
	<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [[PATCH v2] kernel-fitimage.bbclass: only package unique DTBs
Date: Wed, 17 Aug 2022 16:09:46 +0000	[thread overview]
Message-ID: <e840813aa69c4b968e839da161d735c8@mentor.com> (raw)
In-Reply-To: <170BD7FB076CA188.19212@lists.openembedded.org>

[-- Attachment #1: Type: text/plain, Size: 3603 bytes --]

Do I need to send an update here to align with https://git.openembedded.org/openembedded-core/commit/meta/classes-recipe/kernel-fitimage.bbclass?h=master-next&id=f5c128008365e141082c129417eb72d2751e8045 ?


BR,
Awais
________________________________
From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> on behalf of Belal, Awais
Sent: Tuesday, August 16, 2022 6:58:55 PM
To: openembedded-core@lists.openembedded.org
Subject: [OE-core] [[PATCH v2] kernel-fitimage.bbclass: only package unique DTBs

The KERNEL_DEVICETREE and related variables could potentially have a device
tree listed multiple times and this works okay for most scenarios. However,
when we create FIT entries for these we get duplicate nodes and uboot-mkimage
fails with

fit-image-initramfs-image.its:219.58-229.19: ERROR (duplicate_node_names): /images/fdt-freescale_imx8mp-evk-ecspi-slave.dtb: Duplicate node name
fit-image-initramfs-image.its:307.50-317.19: ERROR (duplicate_node_names): /images/fdt-freescale_imx8mp-evk-ndm.dtb: Duplicate node name
fit-image-initramfs-image.its:362.54-372.19: ERROR (duplicate_node_names): /images/fdt-freescale_imx8mp-evk-rm67199.dtb: Duplicate node name
fit-image-initramfs-image.its:417.56-427.19: ERROR (duplicate_node_names): /images/fdt-freescale_imx8mp-evk-usdhc1-m2.dtb: Duplicate node name
fit-image-initramfs-image.its:648.59-658.19: ERROR (duplicate_node_names): /configurations/conf-freescale_imx8mp-evk-ecspi-slave.dtb: Duplicate node name
fit-image-initramfs-image.its:744.51-754.19: ERROR (duplicate_node_names): /configurations/conf-freescale_imx8mp-evk-ndm.dtb: Duplicate node name
fit-image-initramfs-image.its:804.55-814.19: ERROR (duplicate_node_names): /configurations/conf-freescale_imx8mp-evk-rm67199.dtb: Duplicate node name
fit-image-initramfs-image.its:864.57-874.19: ERROR (duplicate_node_names): /configurations/conf-freescale_imx8mp-evk-usdhc1-m2.dtb: Duplicate node name
ERROR: Input tree has errors, aborting (use -f to force output)
uboot-mkimage: Can't open arch/arm64/boot/fitImage.tmp: No such file or directory

We fix this by tracking the DTBs we're compiling in the FIT and only picking
up unique ones.

Signed-off-by: Awais Belal <awais_belal@mentor.com>
---
 meta/classes/kernel-fitimage.bbclass | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
index 7e09b075ff..56d71ba8fa 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -527,6 +527,10 @@ fitimage_assemble() {
                         fi

                         DTB=$(echo "$DTB" | tr '/' '_')
+
+                       # Skip DTB if we've picked it up previously
+                       echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
+
                         DTBS="$DTBS $DTB"
                         fitimage_emit_section_dtb $1 $DTB $DTB_PATH
                 done
@@ -536,6 +540,10 @@ fitimage_assemble() {
                 dtbcount=1
                 for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" \( -name '*.dtb' -o -name '*.dtbo' \) -printf '%P\n' | sort); do
                         DTB=$(echo "$DTB" | tr '/' '_')
+
+                       # Skip DTB if we've picked it up previously
+                       echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
+
                         DTBS="$DTBS $DTB"
                         fitimage_emit_section_dtb $1 $DTB "${EXTERNAL_KERNEL_DEVICETREE}/$DTB"
                 done
--
2.25.1


[-- Attachment #2: Type: text/html, Size: 7128 bytes --]

       reply	other threads:[~2022-08-17 16:09 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <170BD7FB076CA188.19212@lists.openembedded.org>
2022-08-17 16:09 ` Belal, Awais [this message]
2022-08-17 17:43   ` [OE-core] [[PATCH v2] kernel-fitimage.bbclass: only package unique DTBs Alexandre Belloni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e840813aa69c4b968e839da161d735c8@mentor.com \
    --to=awais_belal@mentor.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.