This allows device tree support to be enabled when using U-Boot.
Signed-off-by: Jonathan Liu <[email protected]>
---
classes/sdcard_image-rpi.bbclass | 42 +++++++++++++++++++++-------------------
1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass
index 2e9bdb3..2efc36d 100644
--- a/classes/sdcard_image-rpi.bbclass
+++ b/classes/sdcard_image-rpi.bbclass
@@ -102,32 +102,34 @@ IMAGE_CMD_rpi-sdimg () {
rm -f ${WORKDIR}/boot.img
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img
$BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/*
::/
+
+ if test -n "${DTS}"; then
+ # Device Tree Overlays are assumed to be suffixed by
'-overlay.dtb' string and will be put in a dedicated folder
+ DT_OVERLAYS="${@split_overlays(d, 0)}"
+ DT_ROOT="${@split_overlays(d, 1)}"
+
+ # Copy board device trees to root folder
+ for DTB in ${DT_ROOT}; do
+ DTB_BASE_NAME=`basename ${DTB} .dtb`
+
+ mcopy -i ${WORKDIR}/boot.img -s
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb
::${DTB_BASE_NAME}.dtb
+ done
+
+ # Copy device tree overlays to dedicated folder
+ mmd -i ${WORKDIR}/boot.img overlays
+ for DTB in ${DT_OVERLAYS}; do
+ DTB_BASE_NAME=`basename ${DTB} .dtb`
+
+ mcopy -i ${WORKDIR}/boot.img -s
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb
::overlays/${DTB_BASE_NAME}.dtb
+ done
+ fi
+
case "${KERNEL_IMAGETYPE}" in
"uImage")
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.img
::${SDIMG_KERNELIMAGE}
mcopy -i ${WORKDIR}/boot.img -s
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin
::uImage
;;
*)
- if test -n "${DTS}"; then
- # Device Tree Overlays are assumed to be suffixed by
'-overlay.dtb' string and will be put in a dedicated folder
- DT_OVERLAYS="${@split_overlays(d, 0)}"
- DT_ROOT="${@split_overlays(d, 1)}"
-
- # Copy board device trees to root folder
- for DTB in ${DT_ROOT}; do
- DTB_BASE_NAME=`basename ${DTB} .dtb`
-
- mcopy -i ${WORKDIR}/boot.img -s
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb
::${DTB_BASE_NAME}.dtb
- done
-
- # Copy device tree overlays to dedicated folder
- mmd -i ${WORKDIR}/boot.img overlays
- for DTB in ${DT_OVERLAYS}; do
- DTB_BASE_NAME=`basename ${DTB} .dtb`
-
- mcopy -i ${WORKDIR}/boot.img -s
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb
::overlays/${DTB_BASE_NAME}.dtb
- done
- fi
mcopy -i ${WORKDIR}/boot.img -s
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin
::${SDIMG_KERNELIMAGE}
;;
esac
--
2.6.1
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto