* [PATCH 0/3] meta: check IMAGE_ROOTFS_MAXSIZE and KERNEL_IMAGE_MAXSIZE (if set)
@ 2014-07-07 9:33 Robert Yang
2014-07-07 9:33 ` [PATCH 1/3] lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE Robert Yang
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Robert Yang @ 2014-07-07 9:33 UTC (permalink / raw)
To: openembedded-core
The following changes since commit c452b098b4c021d4cbeddf5bf13f7fd9b1cc9224:
Revert "meta-yocto-bsp: oeqa/controllers: add GrubTarget" (2014-07-04 08:45:10 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/size
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/size
Robert Yang (3):
lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE
kernel.bbclass: update KERNEL_IMAGE_MAXSIZE
local.conf.sample.extended: add KERNEL_IMAGE_MAXSIZE and
IMAGE_ROOTFS_MAXSIZE
meta/classes/kernel.bbclass | 9 ++++++---
meta/conf/bitbake.conf | 4 ++++
meta/conf/local.conf.sample.extended | 8 ++++++++
meta/lib/oe/image.py | 8 ++++++++
4 files changed, 26 insertions(+), 3 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH 1/3] lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE 2014-07-07 9:33 [PATCH 0/3] meta: check IMAGE_ROOTFS_MAXSIZE and KERNEL_IMAGE_MAXSIZE (if set) Robert Yang @ 2014-07-07 9:33 ` Robert Yang 2014-07-07 9:33 ` [PATCH 2/3] kernel.bbclass: update KERNEL_IMAGE_MAXSIZE Robert Yang 2014-07-07 9:34 ` [PATCH 3/3] local.conf.sample.extended: add KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_MAXSIZE Robert Yang 2 siblings, 0 replies; 4+ messages in thread From: Robert Yang @ 2014-07-07 9:33 UTC (permalink / raw) To: openembedded-core * 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@windriver.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): -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/3] kernel.bbclass: update KERNEL_IMAGE_MAXSIZE 2014-07-07 9:33 [PATCH 0/3] meta: check IMAGE_ROOTFS_MAXSIZE and KERNEL_IMAGE_MAXSIZE (if set) Robert Yang 2014-07-07 9:33 ` [PATCH 1/3] lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE Robert Yang @ 2014-07-07 9:33 ` Robert Yang 2014-07-07 9:34 ` [PATCH 3/3] local.conf.sample.extended: add KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_MAXSIZE Robert Yang 2 siblings, 0 replies; 4+ messages in thread From: Robert Yang @ 2014-07-07 9:33 UTC (permalink / raw) To: openembedded-core * Make KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_SIZE have the same algorithm: - Use Kbytes as the unit since we use this in other codes. - Use "du" rather than "ls" to figure out the size since we use this in image.py. [YOCTO #2610] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- meta/classes/kernel.bbclass | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index f5d7258..b2e9d4c 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -422,10 +422,13 @@ addtask do_strip before do_sizecheck after do_kernel_link_vmlinux # with a fixed length or there is a limit in transferring the kernel to memory do_sizecheck() { if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then - cd ${B} - size=`ls -lL ${KERNEL_OUTPUT} | awk '{ print $5}'` + invalid=`echo ${KERNEL_IMAGE_MAXSIZE} | sed 's/[0-9]//g'` + if [ -n "$invalid" ]; then + die "Invalid KERNEL_IMAGE_MAXSIZE: ${KERNEL_IMAGE_MAXSIZE}, should be an integerx (The unit is Kbytes)" + fi + size=`du -ks ${B}/${KERNEL_OUTPUT} | awk '{ print $1}'` if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then - die "This kernel (size=$size > ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular." + die "This kernel (size=$size(K) > ${KERNEL_IMAGE_MAXSIZE}(K)) is too big for your device. Please reduce the size of the kernel by making more of it modular." fi fi } -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] local.conf.sample.extended: add KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_MAXSIZE 2014-07-07 9:33 [PATCH 0/3] meta: check IMAGE_ROOTFS_MAXSIZE and KERNEL_IMAGE_MAXSIZE (if set) Robert Yang 2014-07-07 9:33 ` [PATCH 1/3] lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE Robert Yang 2014-07-07 9:33 ` [PATCH 2/3] kernel.bbclass: update KERNEL_IMAGE_MAXSIZE Robert Yang @ 2014-07-07 9:34 ` Robert Yang 2 siblings, 0 replies; 4+ messages in thread From: Robert Yang @ 2014-07-07 9:34 UTC (permalink / raw) To: openembedded-core [YOCTO #2610] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- meta/conf/local.conf.sample.extended | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended index b156319..4bd33a2 100644 --- a/meta/conf/local.conf.sample.extended +++ b/meta/conf/local.conf.sample.extended @@ -331,3 +331,11 @@ # feed layout is used where package files are placed in <outdir>/<arch>/. # #IPK_HIERARCHICAL_FEED = "1" + +# Checks the kernel image size against KERNEL_IMAGE_MAXSIZE (The unit is +# Kbytes) +#KERNEL_IMAGE_MAXSIZE = "8192" +# +# Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (The unit is +# Kbytes) +#IMAGE_ROOTFS_MAXSIZE = "65536" -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-07-07 9:34 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-07 9:33 [PATCH 0/3] meta: check IMAGE_ROOTFS_MAXSIZE and KERNEL_IMAGE_MAXSIZE (if set) Robert Yang 2014-07-07 9:33 ` [PATCH 1/3] lib/oe/image.py: check the rootfs size against IMAGE_ROOTFS_MAXSIZE Robert Yang 2014-07-07 9:33 ` [PATCH 2/3] kernel.bbclass: update KERNEL_IMAGE_MAXSIZE Robert Yang 2014-07-07 9:34 ` [PATCH 3/3] local.conf.sample.extended: add KERNEL_IMAGE_MAXSIZE and IMAGE_ROOTFS_MAXSIZE Robert Yang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox