summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-01-23 10:49:50 +0100
committerKoen Kooi <koen@dominion.thruhere.net>2011-01-23 10:49:50 +0100
commit04a29595e9fb0d2f78e24e3904423c720f7ee819 (patch)
tree2a9ba79f72619753b3b470c9b631da44ee3c4c25
parente4c4b805c4388ffd3c52c6ede39bf6101f430a53 (diff)
downloadmeta-openembedded-04a29595e9fb0d2f78e24e3904423c720f7ee819.tar.gz
kernel bbclass: merge in yocto changes
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-rw-r--r--classes/kernel.bbclass24
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}"
40TARGET_LD_KERNEL_ARCH ?= "" 40TARGET_LD_KERNEL_ARCH ?= ""
41HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}" 41HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
42 42
43KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}" 43KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}${TOOLCHAIN_OPTIONS}"
44KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}" 44KERNEL_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
47KERNEL_OUTPUT ?= "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" 47KERNEL_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
192sysroot_stage_all_append() { 192sysroot_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() {
477addtask sizecheck before do_install after do_compile 477addtask sizecheck before do_install after do_compile
478 478
479KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}" 479KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
480# Don't include the DATETIME variable in the sstate package signatures
481KERNEL_IMAGE_BASE_NAME[vardepsexclude] = "DATETIME"
480KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}" 482KERNEL_IMAGE_SYMLINK_NAME ?= "${KERNEL_IMAGETYPE}-${MACHINE}"
481 483
482do_deploy() { 484kernel_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
508addtask deploy before do_package after do_install 512addtask deploy before do_package after do_install
509 513
514EXPORT_FUNCTIONS do_deploy
515
510# perf must be enabled in individual kernel recipes 516# perf must be enabled in individual kernel recipes
511PACKAGES =+ "perf" 517PACKAGES =+ "perf"
512FILES_perf = "${bindir}/* \ 518FILES_perf = "${bindir}/* \