[yocto] [PATCH] Gracefully abort if rootfs.img gets to big
akuster808
akuster808 at gmail.com
Mon Mar 30 15:51:18 PDT 2015
Chris,
Should the hardcoded value '4160800000' be a variable so it can be
overridden?
- armin
On 03/30/2015 01:50 PM, Chris Hallinan wrote:
> See https://bugzilla.yoctoproject.org/show_bug.cgi?id=7541
>
> Current implementation of live image type cannot support image size
> greater than 4GB. If the image gets too large, the build simply
> hangs silently, without any clues or debug output to indicate why.
> This patch prevents the build hanging on rootfs.img getting too big.
>
> ---
> meta/classes/bootimg.bbclass | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
> index b1c03ba..e143e24 100644
> --- a/meta/classes/bootimg.bbclass
> +++ b/meta/classes/bootimg.bbclass
> @@ -84,6 +84,13 @@ populate() {
> fi
>
> if [ -n "${ROOTFS}" ] && [ -s "${ROOTFS}" ]; then
> + ROOTFS_FILE_SIZE=`stat -L -c "%s" ${ROOTFS}`
> + bbnote "do_bootimg(): rootfs.img size = ${ROOTFS_FILE_SIZE}"
> + # Actual limit is difficult to determine
> + # This leaves ~128MiB headroom for initrd and boot files
> + if [ ${ROOTFS_FILE_SIZE} -gt 4160800000 ]; then
> + bbfatal "Root fs (rootfs.img) is too big for live image"
> + fi
> install -m 0644 ${ROOTFS} ${DEST}/rootfs.img
> fi
>
>
More information about the yocto
mailing list