diff options
author | Koen Kooi <koen@dominion.thruhere.net> | 2011-01-23 10:49:50 +0100 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-01-23 10:49:50 +0100 |
commit | 04a29595e9fb0d2f78e24e3904423c720f7ee819 (patch) | |
tree | 2a9ba79f72619753b3b470c9b631da44ee3c4c25 | |
parent | e4c4b805c4388ffd3c52c6ede39bf6101f430a53 (diff) | |
download | meta-openembedded-04a29595e9fb0d2f78e24e3904423c720f7ee819.tar.gz |
kernel bbclass: merge in yocto changes
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-rw-r--r-- | classes/kernel.bbclass | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index d710db874..827046e7b 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass | |||
@@ -40,8 +40,8 @@ HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}" | |||
40 | TARGET_LD_KERNEL_ARCH ?= "" | 40 | TARGET_LD_KERNEL_ARCH ?= "" |
41 | HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}" | 41 | HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}" |
42 | 42 | ||
43 | KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}" | 43 | KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}${TOOLCHAIN_OPTIONS}" |
44 | KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}" | 44 | KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}${TOOLCHAIN_OPTIONS}" |
45 | 45 | ||
46 | # Where built kernel lies in the kernel tree | 46 | # Where built kernel lies in the kernel tree |
47 | KERNEL_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" | 47 | KERNEL_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" |
@@ -178,7 +178,7 @@ kernel_do_install() { | |||
178 | scripts/ihex2fw scripts/kallsyms scripts/pnmtologo scripts/basic/docproc \ | 178 | scripts/ihex2fw scripts/kallsyms scripts/pnmtologo scripts/basic/docproc \ |
179 | scripts/basic/fixdep scripts/basic/hash scripts/dtc/dtc \ | 179 | scripts/basic/fixdep scripts/basic/hash scripts/dtc/dtc \ |
180 | scripts/genksyms/genksyms scripts/kconfig/conf scripts/mod/mk_elfconfig \ | 180 | scripts/genksyms/genksyms scripts/kconfig/conf scripts/mod/mk_elfconfig \ |
181 | scripts/mod/modpost" | 181 | scripts/mod/modpost scripts/recordmcount" |
182 | rm -rf $kerneldir/scripts/*.o | 182 | rm -rf $kerneldir/scripts/*.o |
183 | rm -rf $kerneldir/scripts/basic/*.o | 183 | rm -rf $kerneldir/scripts/basic/*.o |
184 | rm -rf $kerneldir/scripts/kconfig/*.o | 184 | rm -rf $kerneldir/scripts/kconfig/*.o |
@@ -190,7 +190,7 @@ kernel_do_install() { | |||
190 | } | 190 | } |
191 | 191 | ||
192 | sysroot_stage_all_append() { | 192 | sysroot_stage_all_append() { |
193 | sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}${STAGING_KERNEL_DIR} | 193 | sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}/kernel |
194 | } | 194 | } |
195 | 195 | ||
196 | 196 | ||
@@ -446,7 +446,7 @@ python populate_packages_prepend () { | |||
446 | metapkg = "kernel-modules" | 446 | metapkg = "kernel-modules" |
447 | bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) | 447 | bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d) |
448 | bb.data.setVar('FILES_' + metapkg, "", d) | 448 | bb.data.setVar('FILES_' + metapkg, "", d) |
449 | blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux' ] | 449 | blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'perf' ] |
450 | for l in module_deps.values(): | 450 | for l in module_deps.values(): |
451 | for i in l: | 451 | for i in l: |
452 | pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1)) | 452 | pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1)) |
@@ -477,24 +477,28 @@ do_sizecheck() { | |||
477 | addtask sizecheck before do_install after do_compile | 477 | addtask sizecheck before do_install after do_compile |
478 | 478 | ||
479 | KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}" | 479 | KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}" |
480 | # Don't include the DATETIME variable in the sstate package signatures | ||
481 | KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME" | ||
480 | KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}" | 482 | KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}" |
481 | 483 | ||
482 | do_deploy() { | 484 | kernel_do_deploy() { |
483 | install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin | 485 | install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin |
484 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then | 486 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then |
485 | tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_VERSION}-${PR}-${MACHINE}.tgz -C ${D} lib | 487 | tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_VERSION}-${PR}-${MACHINE}.tgz -C ${D} lib |
486 | fi | 488 | fi |
487 | 489 | ||
488 | if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then | 490 | if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then |
489 | if test -e arch/${ARCH}/boot/compressed/vmlinux ; then | 491 | if test -e arch/${ARCH}/boot/uImage ; then |
492 | cp arch/${ARCH}/boot/uImage ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin | ||
493 | elif test -e arch/${ARCH}/boot/compressed/vmlinux ; then | ||
490 | ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin | 494 | ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin |
491 | uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOYDIR}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin | 495 | uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin |
492 | rm -f linux.bin | 496 | rm -f linux.bin |
493 | else | 497 | else |
494 | ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin | 498 | ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin |
495 | rm -f linux.bin.gz | 499 | rm -f linux.bin.gz |
496 | gzip -9 linux.bin | 500 | gzip -9 linux.bin |
497 | uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOYDIR}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin | 501 | uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin |
498 | rm -f linux.bin.gz | 502 | rm -f linux.bin.gz |
499 | fi | 503 | fi |
500 | fi | 504 | fi |
@@ -507,6 +511,8 @@ do_deploy[dirs] = "${DEPLOYDIR} ${B}" | |||
507 | 511 | ||
508 | addtask deploy before do_package after do_install | 512 | addtask deploy before do_package after do_install |
509 | 513 | ||
514 | EXPORT_FUNCTIONS do_deploy | ||
515 | |||
510 | # perf must be enabled in individual kernel recipes | 516 | # perf must be enabled in individual kernel recipes |
511 | PACKAGES =+ "perf" | 517 | PACKAGES =+ "perf" |
512 | FILES_perf = "${bindir}/* \ | 518 | FILES_perf = "${bindir}/* \ |