diff options
Diffstat (limited to 'classes/sdcard_image-rpi.bbclass')
-rw-r--r-- | classes/sdcard_image-rpi.bbclass | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass index 1ff664d..7592cc1 100644 --- a/classes/sdcard_image-rpi.bbclass +++ b/classes/sdcard_image-rpi.bbclass | |||
@@ -1,4 +1,5 @@ | |||
1 | inherit image_types | 1 | inherit image_types |
2 | inherit linux-raspberrypi-base | ||
2 | 3 | ||
3 | # | 4 | # |
4 | # Create an image that can by written onto a SD card using dd. | 5 | # Create an image that can by written onto a SD card using dd. |
@@ -70,11 +71,6 @@ SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.rpi-sdimg" | |||
70 | # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. | 71 | # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. |
71 | FATPAYLOAD ?= "" | 72 | FATPAYLOAD ?= "" |
72 | 73 | ||
73 | # Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' string and will be put in a dedicated folder | ||
74 | DT_ALL = "${@d.getVar('KERNEL_DEVICETREE', True) or ''}" | ||
75 | DT_OVERLAYS = "${@oe.utils.str_filter('\S+\-overlay\.dtb$', '${DT_ALL}', d)}" | ||
76 | DT_ROOT = "${@oe.utils.str_filter_out('\S+\-overlay\.dtb$', '${DT_ALL}', d)}" | ||
77 | |||
78 | IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}" | 74 | IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}" |
79 | 75 | ||
80 | IMAGE_CMD_rpi-sdimg () { | 76 | IMAGE_CMD_rpi-sdimg () { |
@@ -90,6 +86,9 @@ IMAGE_CMD_rpi-sdimg () { | |||
90 | 86 | ||
91 | echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS ${ROOTFS_SIZE_ALIGNED} KiB" | 87 | echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS ${ROOTFS_SIZE_ALIGNED} KiB" |
92 | 88 | ||
89 | # Check if we are building with device tree support | ||
90 | DTS="${@get_dts(d, None)}" | ||
91 | |||
93 | # Initialize sdcard image file | 92 | # Initialize sdcard image file |
94 | dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE} | 93 | dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE} |
95 | 94 | ||
@@ -112,7 +111,11 @@ IMAGE_CMD_rpi-sdimg () { | |||
112 | mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage | 111 | mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage |
113 | ;; | 112 | ;; |
114 | *) | 113 | *) |
115 | if test -n "${KERNEL_DEVICETREE}"; then | 114 | if test -n "${DTS}"; then |
115 | # Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' string and will be put in a dedicated folder | ||
116 | DT_OVERLAYS="${@split_overlays(d, 0)}" | ||
117 | DT_ROOT="${@split_overlays(d, 1)}" | ||
118 | |||
116 | # Copy board device trees to root folder | 119 | # Copy board device trees to root folder |
117 | for DTB in ${DT_ROOT}; do | 120 | for DTB in ${DT_ROOT}; do |
118 | DTB_BASE_NAME=`basename ${DTB} .dtb` | 121 | DTB_BASE_NAME=`basename ${DTB} .dtb` |