This one doesn't work correctly, maybe better to postpone this until a fix is in master, see: https://lists.openembedded.org/g/openembedded-core/message/180981 and possible fix: https://git.openembedded.org/openembedded-core-contrib/commit/?h=jansa/master&id=e2a6da5202a6671113758f9746ddbd8141a75757
Regards, On Sat, May 6, 2023 at 5:25 PM Steve Sakoman <st...@sakoman.com> wrote: > From: Randolph Sapp <r...@ti.com> > > Fedora/Redhat and Arch are somewhat standardized on their dtb directory > structure. Let's add some flags to configure yocto to mimic that > behavior. > > Add the following variables to the kernel class: > - KERNEL_DTBDEST (controls the destination directory for dtbs) > - KERNEL_DTBVENDORED (controls if vendor subdirectories are to > be respected) > > Currently KERNEL_DTBDEST is expected to be a subdir of KERNEL_IMAGEDEST > and KERNEL_DTBVENDORED is expected to be "true"/"false". This only > applies to the package directory structure. The deploydir structure is > purposely left untouched for compatibility with existing recipes. > > By default this is configured to behave the same as the current recipe > and produce a flat dtb directory at KERNEL_IMAGEDEST. > > Signed-off-by: Randolph Sapp <r...@ti.com> > Signed-off-by: Steve Sakoman <st...@sakoman.com> > --- > meta/classes/kernel-devicetree.bbclass | 22 +++++++++++++++++----- > meta/classes/kernel.bbclass | 2 ++ > 2 files changed, 19 insertions(+), 5 deletions(-) > > diff --git a/meta/classes/kernel-devicetree.bbclass > b/meta/classes/kernel-devicetree.bbclass > index b4338da1b1..11b57adc92 100644 > --- a/meta/classes/kernel-devicetree.bbclass > +++ b/meta/classes/kernel-devicetree.bbclass > @@ -6,7 +6,12 @@ python () { > d.appendVar("PACKAGES", " > ${KERNEL_PACKAGE_NAME}-image-zimage-bundle") > } > > -FILES:${KERNEL_PACKAGE_NAME}-devicetree = "/${KERNEL_IMAGEDEST}/*.dtb > /${KERNEL_IMAGEDEST}/*.dtbo" > +FILES:${KERNEL_PACKAGE_NAME}-devicetree = " \ > + /${KERNEL_DTBDEST}/*.dtb \ > + /${KERNEL_DTBDEST}/*.dtbo \ > + /${KERNEL_DTBDEST}/*/*.dtb \ > + /${KERNEL_DTBDEST}/*/*.dtbo \ > +" > FILES:${KERNEL_PACKAGE_NAME}-image-zimage-bundle = > "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin" > > # Generate kernel+devicetree bundle > @@ -67,12 +72,16 @@ do_compile:append() { > } > > do_install:append() { > + install -d ${D}/${KERNEL_DTBDEST} > for dtbf in ${KERNEL_DEVICETREE}; do > dtb=`normalize_dtb "$dtbf"` > - dtb_ext=${dtb##*.} > - dtb_base_name=`basename $dtb .$dtb_ext` > dtb_path=`get_real_dtb_path_in_kernel "$dtb"` > - install -m 0644 $dtb_path > ${D}/${KERNEL_IMAGEDEST}/$dtb_base_name.$dtb_ext > + if [ ${KERNEL_DTBVENDORED} == "false" ]; then > + dtb_ext=${dtb##*.} > + dtb_base_name=`basename $dtb .$dtb_ext` > + dtb=$dtb_base_name.$dtb_ext > + fi > + install -Dm 0644 $dtb_path ${D}/${KERNEL_DTBDEST}/$dtb > done > } > > @@ -82,7 +91,10 @@ do_deploy:append() { > dtb_ext=${dtb##*.} > dtb_base_name=`basename $dtb .$dtb_ext` > install -d $deployDir > - install -m 0644 > ${D}/${KERNEL_IMAGEDEST}/$dtb_base_name.$dtb_ext > $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext > + if [ ${KERNEL_DTBVENDORED} == "false" ]; then > + dtb=$dtb_base_name.$dtb_ext > + fi > + install -m 0644 ${D}/${KERNEL_DTBDEST}/$dtb > $deployDir/$dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext > if [ "${KERNEL_IMAGETYPE_SYMLINK}" = "1" ] ; then > ln -sf $dtb_base_name-${KERNEL_DTB_NAME}.$dtb_ext > $deployDir/$dtb_base_name.$dtb_ext > fi > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > index b315737fd2..3e3ac2d47d 100644 > --- a/meta/classes/kernel.bbclass > +++ b/meta/classes/kernel.bbclass > @@ -210,6 +210,8 @@ KERNEL_RELEASE ?= "${KERNEL_VERSION}" > # The directory where built kernel lies in the kernel tree > KERNEL_OUTPUT_DIR ?= "arch/${ARCH}/boot" > KERNEL_IMAGEDEST ?= "boot" > +KERNEL_DTBDEST ?= "${KERNEL_IMAGEDEST}" > +KERNEL_DTBVENDORED ?= "false" > > # > # configuration > -- > 2.34.1 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#180999): https://lists.openembedded.org/g/openembedded-core/message/180999 Mute This Topic: https://lists.openembedded.org/mt/98726684/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-