summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2007-12-06 09:43:11 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2007-12-06 09:43:11 +0000
commit048754f6843b4bf0c205f25571b89ed9121977bd (patch)
treedf54008a5b085f6a655ad53b960560c71ed6a515 /meta
parent7256b486f7321df10a75f9cc4bbd46e1009e074b (diff)
downloadopenembedded-core-048754f6843b4bf0c205f25571b89ed9121977bd.tar.gz
openembedded-core-048754f6843b4bf0c205f25571b89ed9121977bd.tar.bz2
openembedded-core-048754f6843b4bf0c205f25571b89ed9121977bd.tar.xz
openembedded-core-048754f6843b4bf0c205f25571b89ed9121977bd.zip
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
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/kernel.bbclass14
1 files changed, 14 insertions, 0 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 5976f42c7..320a2cf71 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