kernel.bbclass: added sizecheck task from linux recipe (merge from Poky)
authorMarcin Juszkiewicz <hrw@openembedded.org>
Fri, 18 Jan 2008 11:51:29 +0000 (11:51 +0000)
committerMarcin Juszkiewicz <hrw@openembedded.org>
Fri, 18 Jan 2008 11:51:29 +0000 (11:51 +0000)
classes/kernel.bbclass

index d83ec88..f896492 100644 (file)
@@ -405,3 +405,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