Re: [oe] [RFC][meta-oe][PATCH 1/3] kernel.bbclass: Rename to machine_kernel_pr.bbclass which provides added functionality
On Mon, Jul 16, 2012 at 10:55:44AM -0700, Khem Raj wrote: On Mon, Jul 16, 2012 at 10:50 AM, Martin Jansa martin.ja...@gmail.com wrote: There is also this change http://lists.linuxtogo.org/pipermail/openembedded-core/2012-April/021608.html which never made it to oe-core version.. I missed that part. That would need an enhancement in OE-Core to provide a variable to override uImage if a machine asks for. I've sent kernel.bbclass patches from oe-core to update meta-oe copy, so that the diff will be smaller again.. then we can try to replace it with machine_kernel_pr.bbclass.. Cheers, -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com signature.asc Description: Digital signature ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
[oe] [RFC][meta-oe][PATCH 1/3] kernel.bbclass: Rename to machine_kernel_pr.bbclass which provides added functionality
Diffing with the OE-Core's kernel.bbclass only difference is setting of machine kernel pr. So lets convert it to a separate class which provides the added functionality and let everyone use kernel.bbclass from kernel It needs the dependent layers to inherit this class in addition to kernel.bbclass It leaves up with one less conflict with OE-Core Signed-off-by: Khem Raj raj.k...@gmail.com --- meta-oe/classes/kernel.bbclass| 559 - meta-oe/classes/machine_kernel_pr.bbclass |7 + 2 files changed, 7 insertions(+), 559 deletions(-) delete mode 100644 meta-oe/classes/kernel.bbclass create mode 100644 meta-oe/classes/machine_kernel_pr.bbclass diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass deleted file mode 100644 index b30ed36..000 --- a/meta-oe/classes/kernel.bbclass +++ /dev/null @@ -1,559 +0,0 @@ -inherit linux-kernel-base module_strip - -PROVIDES += virtual/kernel -DEPENDS += virtual/${TARGET_PREFIX}gcc kmod-native virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules - -# we include gcc above, we dont need virtual/libc -INHIBIT_DEFAULT_DEPS = 1 - -KERNEL_IMAGETYPE ?= zImage -INITRAMFS_IMAGE ?= -INITRAMFS_TASK ?= - -python __anonymous () { -kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' -if kerneltype == 'uImage': -depends = d.getVar(DEPENDS, True) -depends = %s u-boot-mkimage-native % depends -d.setVar(DEPENDS, depends) - -image = d.getVar('INITRAMFS_IMAGE', True) -if image: -d.setVar('INITRAMFS_TASK', '${INITRAMFS_IMAGE}:do_rootfs') - -machine_kernel_pr = d.getVar('MACHINE_KERNEL_PR', True) - -if machine_kernel_pr: -d.setVar('PR', machine_kernel_pr) -} - -inherit kernel-arch deploy - -PACKAGES_DYNAMIC += kernel-module-* -PACKAGES_DYNAMIC += kernel-image-* -PACKAGES_DYNAMIC += kernel-firmware-* - -export OS = ${TARGET_OS} -export CROSS_COMPILE = ${TARGET_PREFIX} - -KERNEL_PRIORITY ?= ${@int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[0]) * 1 + \ - int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[1]) * 100 + \ - int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[-1])} - -KERNEL_RELEASE ?= ${KERNEL_VERSION} - -KERNEL_CCSUFFIX ?= -KERNEL_LDSUFFIX ?= - -# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture -# specific options necessary for building the kernel and modules. -#FIXME: should be this: TARGET_CC_KERNEL_ARCH ?= ${TARGET_CC_ARCH} -TARGET_CC_KERNEL_ARCH ?= -HOST_CC_KERNEL_ARCH ?= ${TARGET_CC_KERNEL_ARCH} -TARGET_LD_KERNEL_ARCH ?= -HOST_LD_KERNEL_ARCH ?= ${TARGET_LD_KERNEL_ARCH} - -KERNEL_CC = ${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}${TOOLCHAIN_OPTIONS} -KERNEL_LD = ${HOST_PREFIX}ld${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}${TOOLCHAIN_OPTIONS} - -# Where built kernel lies in the kernel tree -KERNEL_OUTPUT ?= arch/${ARCH}/boot/${KERNEL_IMAGETYPE} -KERNEL_IMAGEDEST = boot - -# -# configuration -# -export CMDLINE_CONSOLE = console=${@d.getVar(KERNEL_CONSOLE,1) or ttyS0} - -KERNEL_VERSION = ${@get_kernelversion('${B}')} - -KERNEL_LOCALVERSION ?= - -# kernels are generally machine specific -PACKAGE_ARCH = ${MACHINE_ARCH} - -# U-Boot support -UBOOT_ENTRYPOINT ?= 20008000 -UBOOT_LOADADDRESS ?= ${UBOOT_ENTRYPOINT} - -# For the kernel, we don't want the '-e MAKEFLAGS=' in EXTRA_OEMAKE. -# We don't want to override kernel Makefile variables from the environment -EXTRA_OEMAKE = - -KERNEL_ALT_IMAGETYPE ??= - -KERNEL_IMAGETYPE_FOR_MAKE = ${@(lambda s: s[:-3] if s[-3:] == .gz else s)(d.getVar('KERNEL_IMAGETYPE', True))} - -kernel_do_compile() { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE - oe_runmake include/linux/version.h CC=${KERNEL_CC} LD=${KERNEL_LD} - oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC=${KERNEL_CC} LD=${KERNEL_LD} - if test ${KERNEL_IMAGETYPE_FOR_MAKE}.gz = ${KERNEL_IMAGETYPE}; then - gzip -9c ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_OUTPUT} - fi -} - -do_compile_kernelmodules() { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then - oe_runmake ${PARALLEL_MAKE} modules CC=${KERNEL_CC} LD=${KERNEL_LD} - else - bbnote no modules to compile - fi -} -addtask compile_kernelmodules after do_compile before do_install - -kernel_do_install() { - # - # First install the modules - # - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then - oe_runmake DEPMOD=echo INSTALL_MOD_PATH=${D} modules_install - rm -f ${D}/lib/modules/${KERNEL_VERSION}/modules.order - rm -f ${D}/lib/modules/${KERNEL_VERSION}/modules.builtin - rm ${D}/lib/modules/${KERNEL_VERSION}/build - rm
Re: [oe] [RFC][meta-oe][PATCH 1/3] kernel.bbclass: Rename to machine_kernel_pr.bbclass which provides added functionality
On Mon, Jul 16, 2012 at 10:38:34AM -0700, Khem Raj wrote: Diffing with the OE-Core's kernel.bbclass only difference is setting of machine kernel pr. So lets convert it to a separate class which provides the added functionality and let everyone use kernel.bbclass from kernel There is also this change http://lists.linuxtogo.org/pipermail/openembedded-core/2012-April/021608.html which never made it to oe-core version.. Cheers, It needs the dependent layers to inherit this class in addition to kernel.bbclass It leaves up with one less conflict with OE-Core Signed-off-by: Khem Raj raj.k...@gmail.com --- meta-oe/classes/kernel.bbclass| 559 - meta-oe/classes/machine_kernel_pr.bbclass |7 + 2 files changed, 7 insertions(+), 559 deletions(-) delete mode 100644 meta-oe/classes/kernel.bbclass create mode 100644 meta-oe/classes/machine_kernel_pr.bbclass diff --git a/meta-oe/classes/kernel.bbclass b/meta-oe/classes/kernel.bbclass deleted file mode 100644 index b30ed36..000 --- a/meta-oe/classes/kernel.bbclass +++ /dev/null @@ -1,559 +0,0 @@ -inherit linux-kernel-base module_strip - -PROVIDES += virtual/kernel -DEPENDS += virtual/${TARGET_PREFIX}gcc kmod-native virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules - -# we include gcc above, we dont need virtual/libc -INHIBIT_DEFAULT_DEPS = 1 - -KERNEL_IMAGETYPE ?= zImage -INITRAMFS_IMAGE ?= -INITRAMFS_TASK ?= - -python __anonymous () { -kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' -if kerneltype == 'uImage': -depends = d.getVar(DEPENDS, True) -depends = %s u-boot-mkimage-native % depends -d.setVar(DEPENDS, depends) - -image = d.getVar('INITRAMFS_IMAGE', True) -if image: -d.setVar('INITRAMFS_TASK', '${INITRAMFS_IMAGE}:do_rootfs') - -machine_kernel_pr = d.getVar('MACHINE_KERNEL_PR', True) - -if machine_kernel_pr: -d.setVar('PR', machine_kernel_pr) -} - -inherit kernel-arch deploy - -PACKAGES_DYNAMIC += kernel-module-* -PACKAGES_DYNAMIC += kernel-image-* -PACKAGES_DYNAMIC += kernel-firmware-* - -export OS = ${TARGET_OS} -export CROSS_COMPILE = ${TARGET_PREFIX} - -KERNEL_PRIORITY ?= ${@int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[0]) * 1 + \ - int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[1]) * 100 + \ - int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[-1])} - -KERNEL_RELEASE ?= ${KERNEL_VERSION} - -KERNEL_CCSUFFIX ?= -KERNEL_LDSUFFIX ?= - -# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture -# specific options necessary for building the kernel and modules. -#FIXME: should be this: TARGET_CC_KERNEL_ARCH ?= ${TARGET_CC_ARCH} -TARGET_CC_KERNEL_ARCH ?= -HOST_CC_KERNEL_ARCH ?= ${TARGET_CC_KERNEL_ARCH} -TARGET_LD_KERNEL_ARCH ?= -HOST_LD_KERNEL_ARCH ?= ${TARGET_LD_KERNEL_ARCH} - -KERNEL_CC = ${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}${TOOLCHAIN_OPTIONS} -KERNEL_LD = ${HOST_PREFIX}ld${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}${TOOLCHAIN_OPTIONS} - -# Where built kernel lies in the kernel tree -KERNEL_OUTPUT ?= arch/${ARCH}/boot/${KERNEL_IMAGETYPE} -KERNEL_IMAGEDEST = boot - -# -# configuration -# -export CMDLINE_CONSOLE = console=${@d.getVar(KERNEL_CONSOLE,1) or ttyS0} - -KERNEL_VERSION = ${@get_kernelversion('${B}')} - -KERNEL_LOCALVERSION ?= - -# kernels are generally machine specific -PACKAGE_ARCH = ${MACHINE_ARCH} - -# U-Boot support -UBOOT_ENTRYPOINT ?= 20008000 -UBOOT_LOADADDRESS ?= ${UBOOT_ENTRYPOINT} - -# For the kernel, we don't want the '-e MAKEFLAGS=' in EXTRA_OEMAKE. -# We don't want to override kernel Makefile variables from the environment -EXTRA_OEMAKE = - -KERNEL_ALT_IMAGETYPE ??= - -KERNEL_IMAGETYPE_FOR_MAKE = ${@(lambda s: s[:-3] if s[-3:] == .gz else s)(d.getVar('KERNEL_IMAGETYPE', True))} - -kernel_do_compile() { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE - oe_runmake include/linux/version.h CC=${KERNEL_CC} LD=${KERNEL_LD} - oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC=${KERNEL_CC} LD=${KERNEL_LD} - if test ${KERNEL_IMAGETYPE_FOR_MAKE}.gz = ${KERNEL_IMAGETYPE}; then - gzip -9c ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_OUTPUT} - fi -} - -do_compile_kernelmodules() { - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then - oe_runmake ${PARALLEL_MAKE} modules CC=${KERNEL_CC} LD=${KERNEL_LD} - else - bbnote no modules to compile - fi -} -addtask compile_kernelmodules after do_compile before do_install - -kernel_do_install() { - # - # First install the modules - # - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE - if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then -
Re: [oe] [RFC][meta-oe][PATCH 1/3] kernel.bbclass: Rename to machine_kernel_pr.bbclass which provides added functionality
On Mon, Jul 16, 2012 at 10:50 AM, Martin Jansa martin.ja...@gmail.com wrote: There is also this change http://lists.linuxtogo.org/pipermail/openembedded-core/2012-April/021608.html which never made it to oe-core version.. I missed that part. That would need an enhancement in OE-Core to provide a variable to override uImage if a machine asks for. ___ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel