summaryrefslogtreecommitdiff
path: root/classes/kernel.bbclass
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2008-01-18 15:14:24 +0000
committerMarcin Juszkiewicz <hrw@openembedded.org>2008-01-18 15:14:24 +0000
commit4801c8709e4ac47a1e633137b5b6355b3f85ba97 (patch)
treef23b578f7dd5fb58c2218ff96b3ed3d0554af9c9 /classes/kernel.bbclass
parent936f218c36509a98d9d587a7918f2a33d1441d91 (diff)
parent152b2356da321927d953a1279e2288f37931a896 (diff)
merge of '0e7dafd4ba684994da9cbab0292dbd6e3c6be3ec'
and 'cc72cefccea1756ea052a54b2ec73e0ef6e3d9eb'
Diffstat (limited to 'classes/kernel.bbclass')
-rw-r--r--classes/kernel.bbclass39
1 files changed, 20 insertions, 19 deletions
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass
index c00d0f3f58..f896492364 100644
--- a/classes/kernel.bbclass
+++ b/classes/kernel.bbclass
@@ -80,25 +80,12 @@ kernel_do_stage() {
mkdir -p ${STAGING_KERNEL_DIR}/include/pcmcia
cp -fR include/pcmcia/* ${STAGING_KERNEL_DIR}/include/pcmcia/
- if [ -d drivers/crypto ]; then
- mkdir -p ${STAGING_KERNEL_DIR}/drivers/crypto
- cp -fR drivers/crypto/* ${STAGING_KERNEL_DIR}/drivers/crypto/
- fi
-
- if [ -d include/media ]; then
- mkdir -p ${STAGING_KERNEL_DIR}/include/media
- cp -fR include/media/* ${STAGING_KERNEL_DIR}/include/media/
- fi
-
- if [ -d include/acpi ]; then
- mkdir -p ${STAGING_KERNEL_DIR}/include/acpi
- cp -fR include/acpi/* ${STAGING_KERNEL_DIR}/include/acpi/
- fi
-
- if [ -d include/sound ]; then
- mkdir -p ${STAGING_KERNEL_DIR}/include/sound
- cp -fR include/sound/* ${STAGING_KERNEL_DIR}/include/sound/
- fi
+ for entry in drivers/crypto include/media include/acpi include/sound include/video; do
+ if [ -d $entry ]; then
+ mkdir -p ${STAGING_KERNEL_DIR}/$entry
+ cp -fR $entry/* ${STAGING_KERNEL_DIR}/$entry/
+ fi
+ done
if [ -d drivers/sound ]; then
# 2.4 alsa needs some headers from this directory
@@ -418,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