aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/image_types.bbclass
diff options
context:
space:
mode:
authorKen Werner <ken.werner@linaro.org>2012-03-06 09:03:06 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-08 11:46:05 -0800
commit99128c209e3de3e9e175eacb3acf0f06857043fe (patch)
tree61317352b37bedc3ad6beaa0cbd878dbef9a34cf /meta/classes/image_types.bbclass
parent29ba15af6b4a85687bd487779ec2ea2be80644dc (diff)
downloadopenembedded-core-contrib-99128c209e3de3e9e175eacb3acf0f06857043fe.tar.gz
image_types: add IMAGE_ROOTFS_ALIGNMENT
Introduce a new variable called IMAGE_ROOTFS_ALIGNMENT that allows to control the aligment of the size of the rootfs. Its default value is set to 1KiB so that the existing behaviour is not changed. In case the SD card emulation of a QEMU system emulator gets used you may set the alignment to 2MiB. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/image_types.bbclass')
-rw-r--r--meta/classes/image_types.bbclass12
1 files changed, 11 insertions, 1 deletions
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 1bf59a5e3e..8b820182e2 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -60,9 +60,19 @@ def get_imagecmds(d):
cmds += "\n" + localdata.getVar("runimagecmd", True)
return cmds
+# The default aligment of the size of the rootfs is set to 1KiB. In case
+# you're using the SD card emulation of a QEMU system simulator you may
+# set this value to 2048 (2MiB alignment).
+IMAGE_ROOTFS_ALIGNMENT ?= "1"
+
runimagecmd () {
# Image generation code for image type ${type}
- ROOTFS_SIZE=`du -ks ${IMAGE_ROOTFS}|awk '{base_size = ($1 * ${IMAGE_OVERHEAD_FACTOR}); OFMT = "%.0f" ; print ((base_size > ${IMAGE_ROOTFS_SIZE} ? base_size : ${IMAGE_ROOTFS_SIZE}) + ${IMAGE_ROOTFS_EXTRA_SPACE}) }'`
+ # The base_size gets calculated:
+ # - initial size determined by `du -ks` of the IMAGE_ROOTFS
+ # - then multiplied by the IMAGE_OVERHEAD_FACTOR
+ # - then rounded up to IMAGE_ROOTFS_ALIGNMENT
+ # - finally tested against IMAGE_ROOTFS_SIZE
+ ROOTFS_SIZE=`du -ks ${IMAGE_ROOTFS}|awk '{base_size = $1 * ${IMAGE_OVERHEAD_FACTOR} + ${IMAGE_ROOTFS_ALIGNMENT} - 1; base_size -= base_size % ${IMAGE_ROOTFS_ALIGNMENT}; print ((base_size > ${IMAGE_ROOTFS_SIZE} ? base_size : ${IMAGE_ROOTFS_SIZE}) + ${IMAGE_ROOTFS_EXTRA_SPACE}) }'`
${cmd}
# Now create the needed compressed versions
cd ${DEPLOY_DIR_IMAGE}/