diff options
66 files changed, 82 insertions, 578 deletions
diff --git a/classes/kernel.bbclass b/classes/kernel.bbclass index 459c553ffe..a936e4deff 100644 --- a/classes/kernel.bbclass +++ b/classes/kernel.bbclass @@ -3,6 +3,19 @@ inherit linux-kernel-base module_strip PROVIDES += "virtual/kernel" DEPENDS += "virtual/${TARGET_PREFIX}depmod-${@get_kernelmajorversion('${PV}')} virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules" +KERNEL_IMAGETYPE ?= "zImage" + +python __anonymous () { + + import bb + + kerneltype = bb.data.getVar('KERNEL_IMAGETYPE', d, 1) or '' + if kerneltype == 'uImage': + depends = bb.data.getVar("DEPENDS", d, 1) + depends = "%s u-boot-mkimage-native" % depends + bb.data.setVar("DEPENDS", depends, d) +} + inherit kernel-arch PACKAGES_DYNAMIC += "kernel-module-*" @@ -10,11 +23,6 @@ PACKAGES_DYNAMIC += "kernel-image-*" export OS = "${TARGET_OS}" export CROSS_COMPILE = "${TARGET_PREFIX}" -KERNEL_IMAGETYPE ?= "zImage" -# Base filename under which users see built kernel (i.e. deploy name) -KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}" -# Symlink basename pointing to the most recently built kernel for a machine -KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}" KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}" @@ -51,6 +59,9 @@ KERNEL_LOCALVERSION ?= "" # kernels are generally machine specific PACKAGE_ARCH = "${MACHINE_ARCH}" +# U-Boot support +UBOOT_ENTRYPOINT ?= "20008000" + kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}" @@ -438,13 +449,47 @@ python populate_packages_prepend () { # Support checking the kernel size since some kernels need to reside in partitions # with a fixed length or there is a limit in transferring the kernel to memory do_sizecheck() { - if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then - size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'` - if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then - rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE} - die "This kernel (size=$size > ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular." - fi - fi + if [ ! -z "${KERNEL_IMAGE_MAXSIZE}" ]; then + size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'` + if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then + rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE} + die "This kernel (size=$size > ${KERNEL_IMAGE_MAXSIZE}) is too big for your device. Please reduce the size of the kernel by making more of it modular." + fi + fi } addtask sizecheck before do_install after do_compile + +KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}" +KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}" + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin + package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin + tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_VERSION}-${PR}-${MACHINE}.tgz -C ${D} lib + + if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then + if test -e arch/${ARCH}/boot/compressed/vmlinux ; then + ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin + 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 + rm -f linux.bin + else + ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin + rm -f linux.bin.gz + gzip -9 linux.bin + 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 + rm -f linux.bin.gz + fi + package_stagefile_shell ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin + fi + + cd ${DEPLOY_DIR_IMAGE} + rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin + ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}.bin + package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_SYMLINK_NAME}.bin +} + +do_deploy[dirs] = "${S}" + +addtask deploy before do_package after do_install diff --git a/packages/linux/LAB-kernel_2.6.13-hh2.bb b/packages/linux/LAB-kernel_2.6.13-hh2.bb index 9ee0539ac3..f03a7db402 100644 --- a/packages/linux/LAB-kernel_2.6.13-hh2.bb +++ b/packages/linux/LAB-kernel_2.6.13-hh2.bb @@ -26,12 +26,5 @@ do_configure() { yes '' | oe_runmake oldconfig } -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/LAB-image-${MACHINE} -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - +KERNEL_IMAGE_BASE__NAME = "LAB-image-${MACHINE}-${DATETIME}.bin" +KERNEL_IMAGE_SYMLINK_NAME = "LAB-image-${MACHINE}" diff --git a/packages/linux/LAB-kernel_cvs.bb b/packages/linux/LAB-kernel_cvs.bb index c7b72ab7f2..0daa4742f3 100644 --- a/packages/linux/LAB-kernel_cvs.bb +++ b/packages/linux/LAB-kernel_cvs.bb @@ -51,19 +51,13 @@ do_configure() { yes '' | oe_runmake oldconfig } -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/LAB-image-${MACHINE} +KERNEL_IMAGE_BASE_NAME = "LAB-image-${MACHINE}-${DATETIME}.bin" +KERNEL_IMAGE_SYMLINK_NAME = "LAB-image-${MACHINE}^" +do_deploy_append() { # Generate the HTC flavor, which must be a multiple of 512 bytes long. cat ${WORKDIR}/greatwall_header arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${WORKDIR}/greatwall_trailer | dd conv=sync of=${DEPLOY_DIR_IMAGE}/LAB-image-${MACHINE}.htc } do_stage() { } - - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - diff --git a/packages/linux/collie-kernel-58-6-debug_2.4.18-rmk7-pxa3-embedix20030509.bb b/packages/linux/collie-kernel-58-6-debug_2.4.18-rmk7-pxa3-embedix20030509.bb index 5160d18f95..47b331b34d 100644 --- a/packages/linux/collie-kernel-58-6-debug_2.4.18-rmk7-pxa3-embedix20030509.bb +++ b/packages/linux/collie-kernel-58-6-debug_2.4.18-rmk7-pxa3-embedix20030509.bb @@ -4,8 +4,5 @@ KERNEL_CONSOLE = "tty0" require ../linux/openzaurus-sa_2.4.18-rmk7-pxa3-embedix20030509.bb -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} \ - ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}-DEBUG-${DATETIME}.bin -} +KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}-DEBUG-${DATETIME}.bin" +KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-${MACHINE}-${COLLIE_MEMORY_SIZE}-${COLLIE_RAMDISK_SIZE}-DEBUG.bin" diff --git a/packages/linux/compulab-pxa270_2.6.16.bb b/packages/linux/compulab-pxa270_2.6.16.bb index bd3135510f..fe72df8213 100644 --- a/packages/linux/compulab-pxa270_2.6.16.bb +++ b/packages/linux/compulab-pxa270_2.6.16.bb @@ -31,12 +31,6 @@ do_configure_prepend() { install -m 0644 ${WORKDIR}/2.6.16/CL_FlashDrv ${S}/drivers/block/cl_flash } -do_deploy() { - KNAME=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${KNAME} -} - python do_compulab_image() { import os import os.path @@ -62,11 +56,7 @@ python do_compulab_image() { fo.close() } - -do_deploy[dirs] = "${S}" - -addtask deploy before do_install after do_compile -addtask compulab_image before do_install after do_deploy +addtask compulab_image before do_build after do_deploy COMPATIBLE_MACHINE = "cm-x270" diff --git a/packages/linux/devkitidp-pxa255_2.6.19.bb b/packages/linux/devkitidp-pxa255_2.6.19.bb index 500c0535d2..f9eb6a7777 100644 --- a/packages/linux/devkitidp-pxa255_2.6.19.bb +++ b/packages/linux/devkitidp-pxa255_2.6.19.bb @@ -28,12 +28,3 @@ do_configure_prepend() { install -m 0644 ${WORKDIR}/defconfig ${S}/.config # echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config } - -do_deploy() { - install -d ${DEPLOY_DIR}/images - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile diff --git a/packages/linux/ep93xx-kernel_2.6.17+2.6.18-rc1.bb b/packages/linux/ep93xx-kernel_2.6.17+2.6.18-rc1.bb index 8cfd541720..79d90bc4c7 100644 --- a/packages/linux/ep93xx-kernel_2.6.17+2.6.18-rc1.bb +++ b/packages/linux/ep93xx-kernel_2.6.17+2.6.18-rc1.bb @@ -43,14 +43,3 @@ do_configure() { } - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - - diff --git a/packages/linux/ep93xx-kernel_2.6.19+2.6.20-rc7.bb b/packages/linux/ep93xx-kernel_2.6.19+2.6.20-rc7.bb index df8912e57e..642b13f607 100644 --- a/packages/linux/ep93xx-kernel_2.6.19+2.6.20-rc7.bb +++ b/packages/linux/ep93xx-kernel_2.6.19+2.6.20-rc7.bb @@ -42,15 +42,3 @@ do_configure() { } - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_package after do_install - - - diff --git a/packages/linux/gumstix-linux.inc b/packages/linux/gumstix-linux.inc index 038089c965..76fd15d95a 100644 --- a/packages/linux/gumstix-linux.inc +++ b/packages/linux/gumstix-linux.inc @@ -9,10 +9,7 @@ DEPENDS += " \ u-boot-mkimage-openmoko-native \ " -KERNEL_IMAGE_BASE_NAME = ${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE} - S = "${WORKDIR}/linux-${PV}" -do_deploy[dirs] = "${S}" do_configure_prepend() { echo "" > ${S}/.config @@ -44,18 +41,3 @@ do_install_prepend() { ln -f arch/${ARCH}/boot/images/uImage arch/${ARCH}/boot/uImage fi } - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.bin - tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib - - if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then - ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin - 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}/${KERNEL_IMAGE_BASE_NAME}.bin - rm -f linux.bin - - fi -} - -addtask deploy before do_package after do_install diff --git a/packages/linux/ixp4xx-kernel.inc b/packages/linux/ixp4xx-kernel.inc index af5f78b918..8ec06e2682 100644 --- a/packages/linux/ixp4xx-kernel.inc +++ b/packages/linux/ixp4xx-kernel.inc @@ -353,8 +353,6 @@ do_install_append() { install_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3' } -do_deploy[dirs] = "${S}" - deploy_image() { copy_image '${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-'"$1" "$2" } @@ -369,5 +367,3 @@ do_deploy() { deploy_image 'dsmg600${SITEINFO_ENDIANESS}' 'dsmg600' deploy_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3' } - -addtask deploy before do_package after do_install diff --git a/packages/linux/linux-amsdelta-2.6_2.6.16-omap2.bb b/packages/linux/linux-amsdelta-2.6_2.6.16-omap2.bb index 6c5e1cb16c..db72fe7d31 100644 --- a/packages/linux/linux-amsdelta-2.6_2.6.16-omap2.bb +++ b/packages/linux/linux-amsdelta-2.6_2.6.16-omap2.bb @@ -32,12 +32,3 @@ do_configure_prepend() { install -m 0644 ${WORKDIR}/defconfig ${S}/.config oe_runmake oldconfig } - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile diff --git a/packages/linux/linux-bd-neon-2.6_2.6.22.bb b/packages/linux/linux-bd-neon-2.6_2.6.22.bb index 46fa4295b6..05ceb28ee5 100644 --- a/packages/linux/linux-bd-neon-2.6_2.6.22.bb +++ b/packages/linux/linux-bd-neon-2.6_2.6.22.bb @@ -32,17 +32,10 @@ do_configure() { yes '' | oe_runmake oldconfig } -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}.bin - tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib +do_deploy_append() { ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin rm -f linux.bin.gz gzip -9 linux.bin ${STAGING_BINDIR_NATIVE}/mkimage -A arm -O linux -T kernel -C gzip -a a0008000 -e a0008000 -n "Boundary Devices NEON" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin rm -f linux.bin.gz } - -do_deploy[dirs] = "${S}" - -addtask deploy before do_package after do_install diff --git a/packages/linux/linux-efika_2.6.18+2.6.19-rc6.bb b/packages/linux/linux-efika_2.6.18+2.6.19-rc6.bb index a66aae3700..1907b09f75 100644 --- a/packages/linux/linux-efika_2.6.18+2.6.19-rc6.bb +++ b/packages/linux/linux-efika_2.6.18+2.6.19-rc6.bb @@ -24,14 +24,3 @@ do_configure() { install -m 644 ${WORKDIR}/defconfig ${S}/.config yes | make ARCH=${ARCH} oldconfig } - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - - diff --git a/packages/linux/linux-efika_2.6.20.20.bb b/packages/linux/linux-efika_2.6.20.20.bb index 8ef0af6c78..2f707a17e3 100644 --- a/packages/linux/linux-efika_2.6.20.20.bb +++ b/packages/linux/linux-efika_2.6.20.20.bb @@ -70,14 +70,3 @@ do_stage_append () { cp -pPR include/asm-powerpc ${STAGING_KERNEL_DIR}/include/ cp -pPR include/asm-ppc ${STAGING_KERNEL_DIR}/include/ } - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - - diff --git a/packages/linux/linux-efika_2.6.20.bb b/packages/linux/linux-efika_2.6.20.bb index 87c769a1ae..839d206cd1 100644 --- a/packages/linux/linux-efika_2.6.20.bb +++ b/packages/linux/linux-efika_2.6.20.bb @@ -67,16 +67,3 @@ do_stage_append () { cp -pPR include/asm-powerpc ${STAGING_KERNEL_DIR}/include/ cp -pPR include/asm-ppc ${STAGING_KERNEL_DIR}/include/ } - - - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - - diff --git a/packages/linux/linux-efika_2.6.21+git.bb b/packages/linux/linux-efika_2.6.21+git.bb index 5f8427ef1e..20b5bf86b6 100644 --- a/packages/linux/linux-efika_2.6.21+git.bb +++ b/packages/linux/linux-efika_2.6.21+git.bb @@ -54,14 +54,3 @@ do_stage_append () { cp -pPR include/asm-powerpc ${STAGING_KERNEL_DIR}/include/ cp -pPR include/asm-ppc ${STAGING_KERNEL_DIR}/include/ } - -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} -} - -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - - diff --git a/packages/linux/linux-gumstix_2.6.15.bb b/packages/linux/linux-gumstix_2.6.15.bb index 3e0302fe5f..1812148f6e 100644 --- a/packages/linux/linux-gumstix_2.6.15.bb +++ b/packages/linux/linux-gumstix_2.6.15.bb @@ -72,17 +72,13 @@ do_configure_prepend() { install -m 0644 ${WORKDIR}/defconfig-gumstix ${S}/.config } -do_deploy() { +do_deploy_append() { ${HOST_PREFIX}objcopy -O binary -R .note -R .comment -S arch/arm/boot/compressed/vmlinux arch/arm/boot/compressed/linux.bin mkimage -A arm -O linux -T kernel -C none -a 0xa0008000 -e 0xa0008000 -n "gumstix" -d arch/arm/boot/compressed/linux.bin arch/arm/boot/uImage install -d ${DEPLOY_DIR_IMAGE} cp arch/arm/boot/uImage ${DEPLOY_DIR_IMAGE}/uImage-${PN}-${PV} } -do_deploy[dirs] = "${S}" - -addtask deploy before do_build after do_compile - PACKAGES += "kernel-modules-sound kernel-modules-bluetooth kernel-modules-pcmcia kernel-modules-ide kernel-modules-ethernet kernel-modules-wireless kernel-modules-usb kernel-modules-mmc kernel-modules-fat kernel-modules-nfs" ALLOW_EMPTY_kernel-modules-sound = "1" diff --git a/packages/linux/linux-hackndev-2.6_git.bb b/packages/linux/linux-hackndev-2.6_git.bb index 7fdf94f3ac..387a1da89c 100644 --- a/packages/linux/linux-hackndev-2.6_git.bb +++ b/ |
