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
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto