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 eefe574a60..f8318b83a1 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -28,7 +28,6 @@ KERNEL_VERSION_PKG_NAME = "${@legitimize_package_name(d.getVar('KERNEL_VERSION',
28KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}" 28KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}"
29 29
30python __anonymous () { 30python __anonymous () {
31 import re
32 31
33 # Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into KERNEL_IMAGETYPES 32 # Merge KERNEL_IMAGETYPE and KERNEL_ALT_IMAGETYPE into KERNEL_IMAGETYPES
34 type = d.getVar('KERNEL_IMAGETYPE', True) or "" 33 type = d.getVar('KERNEL_IMAGETYPE', True) or ""
@@ -40,7 +39,10 @@ python __anonymous () {
40 types = (alttype + ' ' + types).strip() 39 types = (alttype + ' ' + types).strip()
41 d.setVar('KERNEL_IMAGETYPES', types) 40 d.setVar('KERNEL_IMAGETYPES', types)
42 41
43 typeformake = re.sub(r'\.gz', '', types) 42 # some commonly used kernel images aren't generated by the kernel build system, such as vmlinux.gz
43 # typeformake lists only valid kernel make targets, and post processing can be done after the kernel
44 # is built (such as using gzip to compress vmlinux)
45 typeformake = types.replace('vmlinux.gz', 'vmlinux')
44 d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake) 46 d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake)
45 47
46 for type in types.split(): 48 for type in types.split():
@@ -262,14 +264,12 @@ kernel_do_compile() {
262 fi 264 fi
263 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do 265 for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
264 oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd 266 oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
265 for type in ${KERNEL_IMAGETYPES} ; do
266 if test "${typeformake}.gz" = "${type}"; then
267 mkdir -p "${KERNEL_OUTPUT_DIR}"
268 gzip -9c < "${typeformake}" > "${KERNEL_OUTPUT_DIR}/${type}"
269 break;
270 fi
271 done
272 done 267 done
268 # vmlinux.gz is not built by kernel
269 if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
270 mkdir -p "${KERNEL_OUTPUT_DIR}"
271 gzip -9c < ${B}/vmlinux > "${KERNEL_OUTPUT_DIR}/vmlinux.gz"
272 fi
273} 273}
274 274
275do_compile_kernelmodules() { 275do_compile_kernelmodules() {