* [PATCH] kernel-fit-image: enable compatible string for kernel built-in DTBs
@ 2025-10-12 17:16 Kavinaya S
2025-10-12 17:32 ` [OE-core] " Gyorgy Sarvari
0 siblings, 1 reply; 3+ messages in thread
From: Kavinaya S @ 2025-10-12 17:16 UTC (permalink / raw)
To: openembedded-core; +Cc: Kavinaya S
At present, the kernel-fit-image bbclass is adding compatible strings only
for external DTBs, omitting them for DTBs built from the kernel tree. This
behavior is limiting the ability to clearly identify the DTBs in FIT image
that includes multiple kernel built-in DTBs and possibly mix of in tree and
external ones, due to lack of consistent compatible strings.
To fix this, introduce a new BitBake variable, FIT_DTB_ADD_COMPATIBLE
when set to "True", the bbclass will extract and include the compatible
string from kernel-built DTBs also in the .its file, just like it does
for external DTBs.
Signed-off-by: Kavinaya S <kavinaya@qti.qualcomm.com>
---
meta/classes-recipe/kernel-fit-image.bbclass | 3 ++-
meta/conf/image-fitimage.conf | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass
index f04aee1807..0e6764cb17 100644
--- a/meta/classes-recipe/kernel-fit-image.bbclass
+++ b/meta/classes-recipe/kernel-fit-image.bbclass
@@ -85,7 +85,8 @@ python do_compile() {
# Copy the dtb or dtbo file into the FIT image assembly directory
shutil.copyfile(os.path.join(kernel_deploydir, dtb_name), dtb_name)
root_node.fitimage_emit_section_dtb(dtb_name, dtb_name,
- d.getVar("UBOOT_DTB_LOADADDRESS"), d.getVar("UBOOT_DTBO_LOADADDRESS"))
+ d.getVar("UBOOT_DTB_LOADADDRESS"), d.getVar("UBOOT_DTBO_LOADADDRESS"),
+ add_compatible = d.getVar("FIT_DTB_ADD_COMPATIBLE"))
if external_kernel_devicetree:
# iterate over all .dtb and .dtbo files in the external kernel devicetree directory
diff --git a/meta/conf/image-fitimage.conf b/meta/conf/image-fitimage.conf
index 090ee148f4..35e0459d09 100644
--- a/meta/conf/image-fitimage.conf
+++ b/meta/conf/image-fitimage.conf
@@ -47,6 +47,9 @@ FIT_LINUX_BIN ?= "linux.bin"
# Allow user to select the default DTB for FIT image when multiple dtb's exists.
FIT_CONF_DEFAULT_DTB ?= ""
+# Allow user to choose if DTB in FIT image can have compatible strings.
+FIT_DTB_ADD_COMPATIBLE ?= "False"
+
# length of address in number of <u32> cells
# ex: 1 32bits address, 2 64bits address
FIT_ADDRESS_CELLS ?= "1"
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH] kernel-fit-image: enable compatible string for kernel built-in DTBs
2025-10-12 17:16 [PATCH] kernel-fit-image: enable compatible string for kernel built-in DTBs Kavinaya S
@ 2025-10-12 17:32 ` Gyorgy Sarvari
2025-10-13 5:56 ` Kavinaya S
0 siblings, 1 reply; 3+ messages in thread
From: Gyorgy Sarvari @ 2025-10-12 17:32 UTC (permalink / raw)
To: kavinaya, openembedded-core
On 10/12/25 19:16, Kavinaya S via lists.openembedded.org wrote:
> At present, the kernel-fit-image bbclass is adding compatible strings only
> for external DTBs, omitting them for DTBs built from the kernel tree. This
> behavior is limiting the ability to clearly identify the DTBs in FIT image
> that includes multiple kernel built-in DTBs and possibly mix of in tree and
> external ones, due to lack of consistent compatible strings.
>
> To fix this, introduce a new BitBake variable, FIT_DTB_ADD_COMPATIBLE
> when set to "True", the bbclass will extract and include the compatible
> string from kernel-built DTBs also in the .its file, just like it does
> for external DTBs.
>
> Signed-off-by: Kavinaya S <kavinaya@qti.qualcomm.com>
> ---
> meta/classes-recipe/kernel-fit-image.bbclass | 3 ++-
> meta/conf/image-fitimage.conf | 3 +++
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass
> index f04aee1807..0e6764cb17 100644
> --- a/meta/classes-recipe/kernel-fit-image.bbclass
> +++ b/meta/classes-recipe/kernel-fit-image.bbclass
> @@ -85,7 +85,8 @@ python do_compile() {
> # Copy the dtb or dtbo file into the FIT image assembly directory
> shutil.copyfile(os.path.join(kernel_deploydir, dtb_name), dtb_name)
> root_node.fitimage_emit_section_dtb(dtb_name, dtb_name,
> - d.getVar("UBOOT_DTB_LOADADDRESS"), d.getVar("UBOOT_DTBO_LOADADDRESS"))
> + d.getVar("UBOOT_DTB_LOADADDRESS"), d.getVar("UBOOT_DTBO_LOADADDRESS"),
> + add_compatible = d.getVar("FIT_DTB_ADD_COMPATIBLE"))
I think something like bb.utils.to_boolean() should be used, otherwise
the non-empty string will always evaluate as True.
>
> if external_kernel_devicetree:
> # iterate over all .dtb and .dtbo files in the external kernel devicetree directory
> diff --git a/meta/conf/image-fitimage.conf b/meta/conf/image-fitimage.conf
> index 090ee148f4..35e0459d09 100644
> --- a/meta/conf/image-fitimage.conf
> +++ b/meta/conf/image-fitimage.conf
> @@ -47,6 +47,9 @@ FIT_LINUX_BIN ?= "linux.bin"
> # Allow user to select the default DTB for FIT image when multiple dtb's exists.
> FIT_CONF_DEFAULT_DTB ?= ""
>
> +# Allow user to choose if DTB in FIT image can have compatible strings.
> +FIT_DTB_ADD_COMPATIBLE ?= "False"
> +
> # length of address in number of <u32> cells
> # ex: 1 32bits address, 2 64bits address
> FIT_ADDRESS_CELLS ?= "1"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#224743): https://lists.openembedded.org/g/openembedded-core/message/224743
> Mute This Topic: https://lists.openembedded.org/mt/115721367/6084445
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] kernel-fit-image: enable compatible string for kernel built-in DTBs
2025-10-12 17:32 ` [OE-core] " Gyorgy Sarvari
@ 2025-10-13 5:56 ` Kavinaya S
0 siblings, 0 replies; 3+ messages in thread
From: Kavinaya S @ 2025-10-13 5:56 UTC (permalink / raw)
To: openembedded-core
On Sun, Oct 12, 2025 at 11:02 PM, Gyorgy Sarvari wrote:
>
> I think something like bb.utils.to_boolean() should be used, otherwise
> the non-empty string will always evaluate as True.
>
Sure. I will update a new patch with the suggested changes.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-13 5:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-12 17:16 [PATCH] kernel-fit-image: enable compatible string for kernel built-in DTBs Kavinaya S
2025-10-12 17:32 ` [OE-core] " Gyorgy Sarvari
2025-10-13 5:56 ` Kavinaya S
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox