summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Zanussi <tom.zanussi@linux.intel.com>2014-10-29 17:04:20 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-10-30 13:03:29 +0000
commitbbaef3ff5833fc1d97b7b028d7770834f62789da (patch)
treea37e0fb147651b58b467de3eeb0a3f5b481881c5
parent8cef3b06f7e9f9d922673f430ddb3170d2fac000 (diff)
downloadopenembedded-core-bbaef3ff5833fc1d97b7b028d7770834f62789da.tar.gz
openembedded-core-bbaef3ff5833fc1d97b7b028d7770834f62789da.tar.bz2
openembedded-core-bbaef3ff5833fc1d97b7b028d7770834f62789da.zip
wic: Use overhead factor when creating partitions from rootfs directories
When creating partitions sized to given rootfs directories, filesystem creation could fail in cases where the calculated target partition size was too small to contain the filesystem created using mkfs. This occurred in particular when creating partitions to contain very large filesystems such as those containing sdk image artifacts. This same limition is present in the oe-core image creation classes, which can be readily see by changing IMAGE_OVERHEAD_FACTOR from the default 1.3 to 1.0 and building a sato-sdk image. It should be possible to calculate required sizes exactly given the source rootfs and target filesystem types, but for now, to address the specific problem users are hitting in such situations, we'll just do exactly what oe-core does and define and use an IMAGE_OVERHEAD_FACTOR or 1.3 in those cases. Fixes [YOCTO #6863]. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--scripts/lib/wic/kickstart/custom_commands/partition.py2
-rw-r--r--scripts/lib/wic/utils/oe/misc.py1
2 files changed, 3 insertions, 0 deletions
diff --git a/scripts/lib/wic/kickstart/custom_commands/partition.py b/scripts/lib/wic/kickstart/custom_commands/partition.py
index 3950b43621..54a494e033 100644
--- a/scripts/lib/wic/kickstart/custom_commands/partition.py
+++ b/scripts/lib/wic/kickstart/custom_commands/partition.py
@@ -229,6 +229,7 @@ class Wic_PartData(Mic_PartData):
extra_blocks = IMAGE_EXTRA_SPACE
rootfs_size = actual_rootfs_size + extra_blocks
+ rootfs_size *= IMAGE_OVERHEAD_FACTOR
msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \
(extra_blocks, self.mountpoint, rootfs_size))
@@ -276,6 +277,7 @@ class Wic_PartData(Mic_PartData):
extra_blocks = IMAGE_EXTRA_SPACE
rootfs_size = actual_rootfs_size + extra_blocks
+ rootfs_size *= IMAGE_OVERHEAD_FACTOR
msger.debug("Added %d extra blocks to %s to get to %d total blocks" % \
(extra_blocks, self.mountpoint, rootfs_size))
diff --git a/scripts/lib/wic/utils/oe/misc.py b/scripts/lib/wic/utils/oe/misc.py
index aa9b23582b..b0b5baab73 100644
--- a/scripts/lib/wic/utils/oe/misc.py
+++ b/scripts/lib/wic/utils/oe/misc.py
@@ -123,6 +123,7 @@ def add_wks_var(key, val):
BOOTDD_EXTRA_SPACE = 16384
IMAGE_EXTRA_SPACE = 10240
+IMAGE_OVERHEAD_FACTOR = 1.3
__bitbake_env_lines = ""