diff options
Diffstat (limited to 'classes/sdcard_image-rpi.bbclass')
| -rw-r--r-- | classes/sdcard_image-rpi.bbclass | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass index 63cd62a..43f1346 100644 --- a/classes/sdcard_image-rpi.bbclass +++ b/classes/sdcard_image-rpi.bbclass | |||
| @@ -66,6 +66,11 @@ SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.rpi-sdimg" | |||
| 66 | # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. | 66 | # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. |
| 67 | FATPAYLOAD ?= "" | 67 | FATPAYLOAD ?= "" |
| 68 | 68 | ||
| 69 | # Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' string and will be put in a dedicated folder | ||
| 70 | DT_ALL = "${@d.getVar('KERNEL_DEVICETREE', True) or ''}" | ||
| 71 | DT_OVERLAYS = "${@oe.utils.str_filter('\S+\-overlay\.dtb$', '${DT_ALL}', d)}" | ||
| 72 | DT_ROOT = "${@oe.utils.str_filter_out('\S+\-overlay\.dtb$', '${DT_ALL}', d)}" | ||
| 73 | |||
| 69 | IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}" | 74 | IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}" |
| 70 | 75 | ||
| 71 | IMAGE_CMD_rpi-sdimg () { | 76 | IMAGE_CMD_rpi-sdimg () { |
| @@ -104,15 +109,20 @@ IMAGE_CMD_rpi-sdimg () { | |||
| 104 | ;; | 109 | ;; |
| 105 | *) | 110 | *) |
| 106 | if test -n "${KERNEL_DEVICETREE}"; then | 111 | if test -n "${KERNEL_DEVICETREE}"; then |
| 107 | for DTB in ${KERNEL_DEVICETREE}; do | 112 | # Copy board device trees to root folder |
| 108 | if echo ${DTB} | grep -q '/dts/'; then | 113 | for DTB in ${DT_ROOT}; do |
| 109 | bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used." | ||
| 110 | DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'` | ||
| 111 | fi | ||
| 112 | DTB_BASE_NAME=`basename ${DTB} .dtb` | 114 | DTB_BASE_NAME=`basename ${DTB} .dtb` |
| 113 | 115 | ||
| 114 | mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::${DTB_BASE_NAME}.dtb | 116 | mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::${DTB_BASE_NAME}.dtb |
| 115 | done | 117 | done |
| 118 | |||
| 119 | # Copy device tree overlays to dedicated folder | ||
| 120 | mmd -i ${WORKDIR}/boot.img overlays | ||
| 121 | for DTB in ${DT_OVERLAYS}; do | ||
| 122 | DTB_BASE_NAME=`basename ${DTB} .dtb` | ||
| 123 | |||
| 124 | mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::overlays/${DTB_BASE_NAME}.dtb | ||
| 125 | done | ||
| 116 | fi | 126 | fi |
| 117 | mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::kernel.img | 127 | mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::kernel.img |
| 118 | ;; | 128 | ;; |
