1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 00:20:08 +00:00

image-live: fix check for rootfs size with hddimg images

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]

(From OE-Core rev: 16956dacd4be2c64e5816ccb2b222b5b128838c9)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Anuj Mittal
2018-07-10 16:41:41 +08:00
committed by Richard Purdie
parent a9b91031ec
commit ebbd1e4a94
+5 -5
View File
@@ -230,11 +230,11 @@ build_hddimg() {
if [ -f ${HDDDIR}/rootfs.img ]; then if [ -f ${HDDDIR}/rootfs.img ]; then
rootfs_img_size=`stat -c '%s' ${HDDDIR}/rootfs.img` rootfs_img_size=`stat -c '%s' ${HDDDIR}/rootfs.img`
max_size=`expr 4 \* 1024 \* 1024 \* 1024` max_size=`expr 4 \* 1024 \* 1024 \* 1024`
if [ $rootfs_img_size -gt $max_size ]; then if [ $rootfs_img_size -ge $max_size ]; then
bberror "${HDDDIR}/rootfs.img execeeds 4GB," bberror "${HDDDIR}/rootfs.img rootfs size is greather than or equal to 4GB,"
bberror "this doesn't work on FAT filesystem, you can try either of:" bberror "and this doesn't work on a FAT filesystem. You can either:"
bberror "1) Reduce the size of rootfs.img" bberror "1) Reduce the size of rootfs.img, or,"
bbfatal "2) Use iso, vmdk or vdi to instead of hddimg\n" bbfatal "2) Use wic, vmdk or vdi instead of hddimg\n"
fi fi
fi fi