From: Randolph Sapp <[email protected]> Upstream's dtb directory structure has no real standard. They just tend to idle around the 2/3 directory depth. Recursively search for the dtb/dtbo files instead of assuming anything.
Fixes: 04ab57d200 (kernel-devicetree: allow specification of dtb directory, 2023-05-02) Signed-off-by: Randolph Sapp <[email protected]> --- meta/classes-recipe/kernel-devicetree.bbclass | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/meta/classes-recipe/kernel-devicetree.bbclass b/meta/classes-recipe/kernel-devicetree.bbclass index 831fdd1527..fa6de7a140 100644 --- a/meta/classes-recipe/kernel-devicetree.bbclass +++ b/meta/classes-recipe/kernel-devicetree.bbclass @@ -12,12 +12,21 @@ python () { d.appendVar("PACKAGES", " ${KERNEL_PACKAGE_NAME}-image-zimage-bundle") } -FILES:${KERNEL_PACKAGE_NAME}-devicetree = " \ - /${KERNEL_DTBDEST}/*.dtb \ - /${KERNEL_DTBDEST}/*.dtbo \ - /${KERNEL_DTBDEST}/*/*.dtb \ - /${KERNEL_DTBDEST}/*/*.dtbo \ -" +# recursivly search for devicetree files +def find_device_trees(d): + import glob + import os + + file_paths = [] + dest_dir = d.getVar('D') + full_dtb_dir = dest_dir + '/' + d.getVar('KERNEL_DTBDEST') + + for file in glob.glob(full_dtb_dir + '/**/*.dtb*', recursive=True): + file_paths.append('/' + os.path.relpath(file, dest_dir)) + + return ' '.join(file_paths) + +FILES:${KERNEL_PACKAGE_NAME}-devicetree = "${@find_device_trees(d)}" FILES:${KERNEL_PACKAGE_NAME}-image-zimage-bundle = "/${KERNEL_IMAGEDEST}/zImage-*.dtb.bin" # Generate kernel+devicetree bundle -- 2.40.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181191): https://lists.openembedded.org/g/openembedded-core/message/181191 Mute This Topic: https://lists.openembedded.org/mt/98853893/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
