]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel.bbclass: support kernel image type of vmlinux.gz
authorMike Crowe <mac@mcrowe.com>
Thu, 25 Aug 2011 12:59:28 +0000 (13:59 +0100)
committerSaul Wold <sgw@linux.intel.com>
Fri, 26 Aug 2011 19:34:02 +0000 (12:34 -0700)
Add support for a gzipped vmlinux kernel by specifying:

  KERNEL_IMAGETYPE = "vmlinux.gz"

Signed-off-by: Mike Crowe <mac@mcrowe.com>
meta/classes/kernel.bbclass

index 52aea973723524e3a517619afc26cd3a4aaa1d2e..229679c72e06c041ef811b75456fad5f03ac50f8 100644 (file)
@@ -75,10 +75,15 @@ EXTRA_OEMAKE = ""
 
 KERNEL_ALT_IMAGETYPE ??= ""
 
+KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(bb.data.getVar('KERNEL_IMAGETYPE', d, 1))}"
+
 kernel_do_compile() {
        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
        oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}"
-       oe_runmake ${KERNEL_IMAGETYPE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+       oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+       if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then
+               gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}"
+       fi
 }
 
 do_compile_kernelmodules() {