From 048754f6843b4bf0c205f25571b89ed9121977bd Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Thu, 6 Dec 2007 09:43:11 +0000 Subject: [PATCH] kernel.bbclass: added task which check size of kernel image Code was taken from linux.inc, variable with size is KERNEL_IMAGE_MAXSIZE git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3314 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/kernel.bbclass | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 5976f42c71..320a2cf71a 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -415,3 +415,17 @@ python populate_packages_prepend () { packages.append(metapkg) bb.data.setVar('PACKAGES', ' '.join(packages), d) } + +# Support checking the kernel size since some kernels need to reside in partitions +# with a fixed length or there is a limit in transferring the kernel to memory +do_sizecheck() { + if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then + size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'` + if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then + rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE} + 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." + fi + fi +} + +addtask sizecheck before do_install after do_compile