[yocto] [meta-raspberrypi] [PATCH 2/2] rpi-base: wic: generate entries for device tree files
Maciej Borzecki
maciej.borzecki at rndity.com
Mon Feb 27 03:46:06 PST 2017
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 <maciej.borzecki at rndity.com>
---
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 e069e7039f166b4503d6709df7bf770dadc6af5d..092cbeb1f7f2ce51b79acb44951373a600e97573 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.
--
2.5.5
More information about the yocto
mailing list