Currently we check if the rootfs.img size is greater than 4 GB and use mcopy to copy it over to a hddimg, a FAT32 volume.
This results in problems when IMAGE_ROOTFS_SIZE is set to be exact 4 GB (4294967296 bytes). mcopy uses the max offset/file size to be 4294967295 and as a result, it errors out without any warning to the user. Change the 4 GB check to '-ge' to catch these cases. Since we allow IMAGE_ROOTFS_SIZE to be in KBs, the maximum allowed is 4194303 KB. Also, tweaked the error message to refer to wic too. Fixes [YOCTO #12776] Signed-off-by: Anuj Mittal <anuj.mit...@intel.com> --- meta/classes/image-live.bbclass | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass index 966277c678..90e5a815c2 100644 --- a/meta/classes/image-live.bbclass +++ b/meta/classes/image-live.bbclass @@ -232,11 +232,11 @@ build_hddimg() { if [ -f ${HDDDIR}/rootfs.img ]; then rootfs_img_size=`stat -c '%s' ${HDDDIR}/rootfs.img` max_size=`expr 4 \* 1024 \* 1024 \* 1024` - if [ $rootfs_img_size -gt $max_size ]; then - bberror "${HDDDIR}/rootfs.img execeeds 4GB," - bberror "this doesn't work on FAT filesystem, you can try either of:" - bberror "1) Reduce the size of rootfs.img" - bbfatal "2) Use iso, vmdk or vdi to instead of hddimg\n" + if [ $rootfs_img_size -ge $max_size ]; then + bberror "${HDDDIR}/rootfs.img rootfs size is greather than or equal to 4GB," + bberror "and this doesn't work on a FAT filesystem. You can either:" + bberror "1) Reduce the size of rootfs.img, or," + bbfatal "2) Use wic, vmdk or vdi instead of hddimg\n" fi fi -- 2.17.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core