[oe-commits] Robert Yang : lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE

git at git.openembedded.org git at git.openembedded.org
Thu Jul 10 16:40:15 UTC 2014


Module: openembedded-core.git
Branch: master
Commit: 6acd4fc8d5e642b5c6c75fcc40dd8f37caf7ddcf
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=6acd4fc8d5e642b5c6c75fcc40dd8f37caf7ddcf

Author: Robert Yang <liezhi.yang at windriver.com>
Date:   Mon Jul  7 02:33:58 2014 -0700

lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE

* Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (if set)
* Add comments for IMAGE_ROOTFS_SIZE to not confuse with IMAGE_ROOTFS_MAXSIZE

[YOCTO #2610]

Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 meta/conf/bitbake.conf | 4 ++++
 meta/lib/oe/image.py   | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 311e9a0..f4870d5 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -688,6 +688,10 @@ IMAGE_FSTYPES ?= "tar.gz"
 INITRAMFS_FSTYPES ?= "cpio.gz"
 DEFAULT_TASK_PROVIDER ?= "packagegroup-base"
 MACHINE_TASK_PROVIDER ?= "${DEFAULT_TASK_PROVIDER}"
+
+# The size in Kbytes for the generated image if it is larger than
+# the required size (du -ks IMAGE_ROOTFS * IMAGE_OVERHEAD_FACTOR),
+# and no effect if less than it.
 IMAGE_ROOTFS_SIZE ?= "65536"
 
 # Forcefully set CACHE now so future changes to things like 
diff --git a/meta/lib/oe/image.py b/meta/lib/oe/image.py
index c9b9033..354a676 100644
--- a/meta/lib/oe/image.py
+++ b/meta/lib/oe/image.py
@@ -144,6 +144,7 @@ class Image(ImageDepGraph):
         overhead_factor = float(self.d.getVar('IMAGE_OVERHEAD_FACTOR', True))
         rootfs_req_size = int(self.d.getVar('IMAGE_ROOTFS_SIZE', True))
         rootfs_extra_space = eval(self.d.getVar('IMAGE_ROOTFS_EXTRA_SPACE', True))
+        rootfs_maxsize = self.d.getVar('IMAGE_ROOTFS_MAXSIZE', True)
 
         output = subprocess.check_output(['du', '-ks',
                                           self.d.getVar('IMAGE_ROOTFS', True)])
@@ -158,6 +159,13 @@ class Image(ImageDepGraph):
         base_size += rootfs_alignment - 1
         base_size -= base_size % rootfs_alignment
 
+        # Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (if set)
+        if rootfs_maxsize:
+            rootfs_maxsize_int = int(rootfs_maxsize)
+            if base_size > rootfs_maxsize_int:
+                bb.fatal("The rootfs size %d(K) overrides the max size %d(K)" % \
+                    (base_size, rootfs_maxsize_int))
+
         return base_size
 
     def _create_symlinks(self, subimages):



More information about the Openembedded-commits mailing list