Hi Ryan On Tue, 2026-06-30 at 14:04 -0500, Ryan Eatmon via lists.openembedded.org wrote: > When specifying a FIT_CONF_DEFAULT_DTB for a machine, you have to > exactly align the name with what will be in the fitImage file or you > will get a build error. If you also turn on KERNEL_DTBVENDORED then > you > must also specify the vendor directory as part of the dtb name that > you > want for the default, but you must manually do the same mapping that > the > kernel-fit-image class is doing when it generates the fit-image.its > file. > > This patch just adds the same logic to figure out the value for the > requested default dtb and eliminate the need to understand the > internal > mapping of the class. It should make specifying the value more > intuitive. The same value that you put in the KERNEL_DEVICETREE can > be > used in the FIT_CONF_DEFAULT_DTB and the new code will correctly > honor > the KERNEL_DTBVENDORED setting. > > Before: > > KERNEL_DEVICETREE = " > ti/k3-am62p5-sk.dtb \ > ... \ > " > FIT_CONF_DEFAULT_DTB = "ti_k3-am62p5-sk.dtb" > > After: > > KERNEL_DEVICETREE = " > ti/k3-am62p5-sk.dtb \ > ... \ > " > FIT_CONF_DEFAULT_DTB = "ti/k3-am62p5-sk.dtb" > > Signed-off-by: Ryan Eatmon <[email protected]> > --- > meta/classes-recipe/kernel-fit-image.bbclass | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/meta/classes-recipe/kernel-fit-image.bbclass > b/meta/classes-recipe/kernel-fit-image.bbclass > index 448a88ccb1..f49838d639 100644 > --- a/meta/classes-recipe/kernel-fit-image.bbclass > +++ b/meta/classes-recipe/kernel-fit-image.bbclass > @@ -195,8 +195,21 @@ python do_compile() { > > loadable_loadaddress, > > loadable_entrypoint) > > + # Figure out if we have a default dtb and if we need to honor > the > + # KERNEL_DTBVENDORED variable to tweak the name to match what > will be > + # in the fitImage. > + default_dtb = d.getVar("FIT_CONF_DEFAULT_DTB") > + if default_dtb: > + # With vendored DTs, replace any path separators with > underscores, > + # this matches the behavior used to generate the dtb entry > in other > + # parts of the code. > + if d.getVar('KERNEL_DTBVENDORED') != "1": > + default_dtb = os.path.basename(default_dtb) > + else: > + default_dtb = default_dtb.replace('/', '_')
This is probably needed in addition to https://git.openembedded.org/openembedded-core/commit/?id=4297b94c3728cd2e320d75b68c508e12ab127719 if I understand correctly. Would it make sense to move this if else block into a function which can be used in both places? Regards, Adrian > + > # Generate the configuration section > - > root_node.fitimage_emit_section_config(d.getVar("FIT_CONF_DEFAULT_DTB > "), d.getVar("FIT_CONF_MAPPINGS")) > + root_node.fitimage_emit_section_config(default_dtb, > d.getVar("FIT_CONF_MAPPINGS")) > > # Write the its file > root_node.write_its_file(itsfile) > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#240029): https://lists.openembedded.org/g/openembedded-core/message/240029 Mute This Topic: https://lists.openembedded.org/mt/120052405/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
