diff options
Diffstat (limited to 'meta/classes/kernel.bbclass')
| -rw-r--r-- | meta/classes/kernel.bbclass | 18 |
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') | |||
| 32 | KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}" | 32 | KERNEL_VERSION_PKG_NAME[vardepvalue] = "${LINUX_VERSION}" |
| 33 | 33 | ||
| 34 | python __anonymous () { | 34 | python __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 | ||
| 281 | do_compile_kernelmodules() { | 281 | do_compile_kernelmodules() { |
