When constructing the SD card image, the code was using
the inherited ROOTFS_SIZE, which is the size of the
rootfs contents. When building (for example) a compressed
rootfs, this allocates a partition much larger than necessary.

Instead, take the size of the generated rootfs file that is
about to be written into the generated image.

Signed-off-by: Jan Schmidt <thay...@noraisin.net>
---
 classes/sdcard_image-rpi.bbclass |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass
index 421f561..355ff9c 100644
--- a/classes/sdcard_image-rpi.bbclass
+++ b/classes/sdcard_image-rpi.bbclass
@@ -60,7 +60,8 @@ IMAGE_CMD_rpi-sdimg () {
        # Align partitions
        BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
        BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} 
% ${IMAGE_ROOTFS_ALIGNMENT})
-       SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
$ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
+       ROOTFS_SIZE=`du -ks ${SDIMG_ROOTFS} | awk '{print $1}'`
+       SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + 
${ROOTFS_SIZE})
 
        # Initialize sdcard image file
        dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* 
${SDIMG_SIZE})
@@ -71,7 +72,7 @@ IMAGE_CMD_rpi-sdimg () {
        parted -s ${SDIMG} unit KiB mkpart primary fat32 
${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ 
${IMAGE_ROOTFS_ALIGNMENT})
        parted -s ${SDIMG} set 1 boot on
        # Create rootfs partition
-       parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
+       parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr 
${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${SDIMG_SIZE} - 1)
        parted ${SDIMG} print
 
        # Create a vfat image with boot files
-- 
1.7.10.4

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to