diff options
| -rw-r--r-- | meta/classes/kernel.bbclass | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index d2edfd4853..99680ceabd 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass | |||
| @@ -46,6 +46,9 @@ KERNEL_LOCALVERSION ?= "" | |||
| 46 | # kernels are generally machine specific | 46 | # kernels are generally machine specific |
| 47 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 47 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
| 48 | 48 | ||
| 49 | # U-Boot support | ||
| 50 | UBOOT_ENTRYPOINT ?= "20008000" | ||
| 51 | |||
| 49 | kernel_do_compile() { | 52 | kernel_do_compile() { |
| 50 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE | 53 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE |
| 51 | oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}" | 54 | oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}" |
| @@ -416,3 +419,34 @@ do_sizecheck() { | |||
| 416 | } | 419 | } |
| 417 | 420 | ||
| 418 | addtask sizecheck before do_install after do_compile | 421 | addtask sizecheck before do_install after do_compile |
| 422 | |||
| 423 | KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}" | ||
| 424 | KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}" | ||
| 425 | |||
| 426 | do_deploy() { | ||
| 427 | install -d ${DEPLOY_DIR_IMAGE} | ||
| 428 | install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin | ||
| 429 | tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_VERSION}-${PR}-${MACHINE}.tgz -C ${D} lib | ||
| 430 | |||
| 431 | if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then | ||
| 432 | if test -e arch/${ARCH}/boot/compressed/vmlinux ; then | ||
| 433 | ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin | ||
| 434 | uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin | ||
| 435 | rm -f linux.bin | ||
| 436 | else | ||
| 437 | ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin | ||
| 438 | rm -f linux.bin.gz | ||
| 439 | gzip -9 linux.bin | ||
| 440 | 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 ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin | ||
| 441 | rm -f linux.bin.gz | ||
| 442 | fi | ||
| 443 | fi | ||
| 444 | |||
| 445 | cd ${DEPLOY_DIR_IMAGE} | ||
| 446 | rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin | ||
| 447 | ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}.bin | ||
| 448 | } | ||
| 449 | |||
| 450 | do_deploy[dirs] = "${S}" | ||
| 451 | |||
| 452 | addtask deploy before do_package after do_install | ||
