summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/kernel.bbclass18
1 files changed, 9 insertions, 9 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 7a134d5c29..7670c7107a 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -32,7 +32,6 @@ KERNEL_VERSION_PKG_NAME = "${@legitimize_package_name(d.getVar('KERNEL_VERSION')
32KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}" 32KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}"
33 33
34python __anonymous () { 34python __anonymous () {
35 import re
36 35
37 # Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into KERNEL_IMAGETYPES 36 # Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into KERNEL_IMAGETYPES
38 type = d.getVar('KERNEL_IMAGETYPE') or "" 37 type = d.getVar('KERNEL_IMAGETYPE') or ""
@@ -44,7 +43,10 @@ python __anonymous () {
44 types = (alttype + ' ' + types).strip() 43 types = (alttype + ' ' + types).strip()
45 d.setVar('KERNEL_IMAGETYPES', types) 44 d.setVar('KERNEL_IMAGETYPES', types)
46 45
47 typeformake = re.sub(r'\.gz', '', types) 46 # some commonly used kernel images aren't generated by the kernel build system, such as vmlinux.gz
47 # typeformake lists only valid kernel make targets, and post processing can be done after the kernel
48 # is built (such as using gzip to compress vmlinux)
49 typeformake = types.replace('vmlinux.gz', 'vmlinux')
48 d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake) 50 d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake)
49 51
50 for type in types.split(): 52 for type in types.split():
@@ -268,14 +270,12 @@ kernel_do_compile() {
268 fi 270 fi
269 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do 271 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
270 oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd 272 oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
271 for type in ${KERNEL_IMAGETYPES} ; do
272 if test "${typeformake}.gz" = "${type}"; then
273 mkdir -p "${KERNEL_OUTPUT_DIR}"
274 gzip -9c < "${typeformake}" > "${KERNEL_OUTPUT_DIR}/${type}"
275 break;
276 fi
277 done
278 done 273 done
274 # vmlinux.gz is not built by kernel
275 if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
276 mkdir -p "${KERNEL_OUTPUT_DIR}"
277 gzip -9c < ${B}/vmlinux > "${KERNEL_OUTPUT_DIR}/vmlinux.gz"
278 fi
279} 279}
280 280
281do_compile_kernelmodules() { 281do_compile_kernelmodules() {