From c01466aabb9bda5b34fbcb3802bfe586ae7fdc53 Mon Sep 17 00:00:00 2001 From: Maciej Borzecki Date: Mon, 27 Feb 2017 12:46:06 +0100 Subject: rpi-base: wic: generate entries for device tree files Augment IMAGE_BOOT_FILES with entries picking up proper dtb[o]s. This allows for building usable wic images once again. Signed-off-by: Maciej Borzecki --- conf/machine/include/rpi-base.inc | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index e069e70..092cbeb 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -51,7 +51,37 @@ MACHINE_EXTRA_RRECOMMENDS += " kernel-modules" # Set Raspberrypi splash image SPLASH = "psplash-raspberrypi" -IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* ${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}" +def make_dtb_boot_files(d): + # Generate IMAGE_BOOT_FILES entries for device tree files listed in + # KERNEL_DEVICETREE. + alldtbs = d.getVar('KERNEL_DEVICETREE') + imgtyp = d.getVar('KERNEL_IMAGETYPE') + + def transform(dtb): + if dtb.endswith('dtb'): + # eg: bcm2708-rpi-b.dtb has: + # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-bcm2708-rpi-b.dtb + # destination: bcm2708-rpi-b.dtb + src = '{}-{}'.format(imgtyp, dtb) + dst = dtb + return '{};{}'.format(src, dst) + elif dtb.endswith('dtbo'): + # overlay dtb: + # eg: overlays/hifiberry-amp.dtbo has: + # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-hifiberry-amp.dtbp + # destination: overlays/hifiberry-amp.dtbo + base = os.path.basename(dtb) + src = '{}-{}'.format(imgtyp, base) + dst = dtb + return '{};{}'.format(src, dtb) + + return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb]) + + +IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \ + ${@make_dtb_boot_files(d)} \ + ${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE} \ + " # The kernel image is installed into the FAT32 boot partition and does not need # to also be installed into the rootfs. -- cgit v1.2.3-54-g00ecf