kernel: consolidated pull request
cover kernel: consolidated pull request
Richard/Saul,
What follows is a set of kernel changes that have been brewing for a while now:
294170 kern-tools: update SRCREV
65d8b50 linux-yocto: update LICENSE to GPLv2
069e9d9 kernel: copy defconfig to {B} vs {S}
6796e11 linux-yocto: kernel-3.0 support recipe
The patches are pretty self explanitory, but a few comments follow.
The kern-tools tweak Fixes [YOCTO #1261], which allows both the 2.6.34 and 3.0 based -rt kernels to build again.
The next two changes are small cleanups and a allow linux-yocto to inherit changes to the base kernel class' do_configure().
And finally, we create the 3.0 base recipe. A few notes about this are:
- it is a carry forward of the immediately available 2.6.37 (and before) functionality
- it has an audit and cleanup of the config fragments, which was one of the 1.1 deliverables
- it has been built for all core arches, and (attempted) boot tested on them as well.
- it is not the default for any target at the moment, this needs more testing, and there are two known issues I'm tracking a qemumips boot failure that snuck in during the 3.0 -rc cycle (it did boot) and qemuppc interrupts being lost. I'll update the preferred versions as targets are validated.
- I've built and booted the core-images on them, but functionality like graphics, etc, still needs to be tested. There's only so much I can do :)
- the -rt branch is populated with tglx's recent update of -rt!
- separate patches will go out for other layers (meta-kernel-dev, meta-rt, meta-yocto, etc) shortly.
** This obviously builds on the other hard work done to get userspace and tools ready for the 3.0 kernel version change. Many thanks for that, since it allowed me to focus on the kernel only.
Patches are welcome for any misbehaving boards or qemu targets :
The following changes since commit 1df5ab5ee285b3220348ce0cf371b81446d55832:
parse/ConfHandler: Fix multiline variable corruption (2011-07-21 11:09:47 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib zedd/kernel
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel
Bruce Ashfield (4):
linux-yocto: kernel-3.0 support recipe
kernel: copy defconfig to {B} vs {S}
linux-yocto: update LICENSE to GPLv2
kern-tools: update SRCREV
meta/classes/kernel-yocto.bbclass | 6 --- meta/classes/kernel.bbclass | 4 +- .../kern-tools/kern-tools-native_git.bb | 2 +- meta/recipes-kernel/linux/linux-yocto.inc | 2 +- meta/recipes-kernel/linux/linux-yocto_3.0.bb | 47 ++++++++++++++++++++ 5 files changed, 51 insertions(+), 10 deletions(-) create mode 100644 meta/recipes-kernel/linux/linux-yocto_3.0.bb
Signature · 1 line
1.7.4.1
PATCH 1/4 linux-yocto: kernel-3.0 support recipe
Establish the infrastructure to start more comprehensive linux-3.0 testing. With this in place, the populated linux-yocto 3.0 can optionally be built for supported machines.
Note: this commit does not change the default for any targets and as such, it would need to be explicitly set as the preferred version to be built. The staged introduction allows some remaining issues to be solved, while making this available. Subsequent commits will be done to switch qemu machines ones they have been validated. If the default for a machine is not this kernel, consider it best effort.
--- meta/recipes-kernel/linux/linux-yocto_3.0.bb | 47 ++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-kernel/linux/linux-yocto_3.0.bb
meta/recipes-kernel/linux/linux-yocto_3.0.bb new file +47 -0
@@ -0,0 +1,47 @@ +inherit kernel +require recipes-kernel/linux/linux-yocto.inc + +KMACHINE = "yocto/standard/base" +KMACHINE_qemux86 = "yocto/standard/common-pc/base" +KMACHINE_qemux86-64 = "yocto/standard/common-pc-64/base" +KMACHINE_qemuppc = "yocto/standard/qemu-ppc32" +KMACHINE_qemumips = "yocto/standard/mti-malta32-be" +KMACHINE_qemuarm = "yocto/standard/arm-versatile-926ejs" + +KBRANCH = ${KMACHINE} +KMETA = meta + +LINUX_VERSION ?= "3.0" +LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}" + +SRCREV_machine_qemuarm = "021129d0ad7dd63cbe68c9a1d369519a9e5e8440" +SRCREV_machine_qemumips = "e86282b3085c5310d1c43af66242845ddadd49b6" +SRCREV_machine_qemuppc = "f4ce805d0b74f9f32b6455730485120e27a4711e" +SRCREV_machine_qemux86 = "3216e7d5c3cada16161481826cdb39c930457587" +SRCREV_machine_qemux86-64 = "3216e7d5c3cada16161481826cdb39c930457587" +SRCREV_machine = "3216e7d5c3cada16161481826cdb39c930457587" +SRCREV_meta = "9010d1cbef2633dac7e559a7705c326b7601dd4c" + +PR = "r0" +PV = "${LINUX_VERSION}+git${SRCPV}" +SRCREV_FORMAT = "meta_machine" + +SRC_URI = "git://git.pokylinux.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" + +COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)" + +# Functionality flags +KERNEL_REVISION_CHECKING ?= "t" +KERNEL_FEATURES="features/netfilter" +KERNEL_FEATURES_append=" features/taskstats" +KERNEL_FEATURES_append_qemux86=" cfg/sound" +KERNEL_FEATURES_append_qemux86-64=" cfg/sound" + +YOCTO_KERNEL_META_DATA=t + +# extra tasks +addtask kernel_link_vmlinux after do_compile before do_install +addtask validate_branches before do_patch after do_kernel_checkout +addtask kernel_configcheck after do_configure before do_compile + +require linux-tools.inc
Signature · 1 line
1.7.4.1
Re: [PATCH 1/4] linux-yocto: kernel-3.0 support recipe
Quoted 4 lines · Bruce Ashfield
Establish the infrastructure to start more comprehensive linux-3.0 testing. With this in place, the populated linux-yocto 3.0 can optionally be built for supported machines.
Quoted 8 lines
Note: this commit does not change the default for any targets and as such, it would need to be explicitly set as the preferred version to be built. The staged introduction allows some remaining issues to be solved, while making this available. Subsequent commits will be done to switch qemu machines ones they have been validated. If the default for a machine is not this kernel, consider it best effort.
Signed-off-by Bruce Ashfield <[email protected]>
Quoted 58 lines
--- meta/recipes-kernel/linux/linux-yocto_3.0.bb | 47 ++++++++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) create mode 100644 meta/recipes-kernel/linux/linux-yocto_3.0.bbmeta/recipes-kernel/linux/linux-yocto_3.0.bb new file +47
-0@@ -0,0 +1,47 @@ +inherit kernel +require recipes-kernel/linux/linux-yocto.inc + +KMACHINE = "yocto/standard/base" +KMACHINE_qemux86 = "yocto/standard/common-pc/base" +KMACHINE_qemux86-64 = "yocto/standard/common-pc-64/base" +KMACHINE_qemuppc = "yocto/standard/qemu-ppc32" +KMACHINE_qemumips = "yocto/standard/mti-malta32-be" +KMACHINE_qemuarm = "yocto/standard/arm-versatile-926ejs" + +KBRANCH = ${KMACHINE} +KMETA = meta + +LINUX_VERSION ?= "3.0" +LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}" + +SRCREV_machine_qemuarm = "021129d0ad7dd63cbe68c9a1d369519a9e5e8440" +SRCREV_machine_qemumips = "e86282b3085c5310d1c43af66242845ddadd49b6" +SRCREV_machine_qemuppc = "f4ce805d0b74f9f32b6455730485120e27a4711e" +SRCREV_machine_qemux86 = "3216e7d5c3cada16161481826cdb39c930457587" +SRCREV_machine_qemux86-64 = "3216e7d5c3cada16161481826cdb39c930457587" +SRCREV_machine = "3216e7d5c3cada16161481826cdb39c930457587" +SRCREV_meta = "9010d1cbef2633dac7e559a7705c326b7601dd4c" + +PR = "r0" +PV = "${LINUX_VERSION}+git${SRCPV}" +SRCREV_FORMAT = "meta_machine" + +SRC_URI = "git://git.pokylinux.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" + +COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)" + +# Functionality flags +KERNEL_REVISION_CHECKING ?= "t" +KERNEL_FEATURES="features/netfilter" +KERNEL_FEATURES_append=" features/taskstats" +KERNEL_FEATURES_append_qemux86=" cfg/sound" +KERNEL_FEATURES_append_qemux86-64=" cfg/sound" + +YOCTO_KERNEL_META_DATA=t + +# extra tasks +addtask kernel_link_vmlinux after do_compile before do_install +addtask validate_branches before do_patch after do_kernel_checkout +addtask kernel_configcheck after do_configure before do_compile + +require linux-tools.inc
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
PATCH 2/4 kernel: copy defconfig to {B} vs {S}
In reply to Bruce AshfieldFor kernel's that use a split source/object build the copy of defconfig to {S} in the base kernel class is problematic. The previous solution for this was to override the do_configure of the base kernel class in a subclass. While this is still a viable/valid option, it does mean that changes to the base do_configure will be missed.
The solution to this is to copy a defconfig to {B} which is typically the same as {S}, so most kernel recipes won't see or care about this change.
With this change in place, linux-yocto.bbclass can drop its override of do_configure.
Tested with linux-yocto and oe linux recipes.
--- meta/classes/kernel-yocto.bbclass | 6 ------ meta/classes/kernel.bbclass | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-)
meta/classes/kernel-yocto.bbclass +0 -6
@@ -118,12 +118,6 @@ python do_kernel_configcheck() { bb.plain( "%s" % result ) } -# overrides the base kernel_do_configure, since we don't want all the -# defconfig processing in there -kernel_do_configure() { - yes '' | oe_runmake oldconfig -} - # Ensure that the branches (BSP and meta) are on the locatios specified by # their SRCREV values. If they are NOT on the right commits, the branches
meta/classes/kernel.bbclass +2 -2
@@ -181,8 +181,8 @@ sysroot_stage_all_append() { kernel_do_configure() { # Copy defconfig to .config if .config does not exist. This allows # recipes to manage the .config themselves in do_configure_prepend(). - if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${S}/.config" ]; then - cp "${WORKDIR}/defconfig" "${S}/.config" + if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then + cp "${WORKDIR}/defconfig" "${B}/.config" fi yes '' | oe_runmake oldconfig
Signature · 1 line
1.7.4.1
Re: [PATCH 2/4] kernel: copy defconfig to {B} vs {S}
Quoted 11 lines · Bruce Ashfield
For kernel's that use a split source/object build the copy of defconfig to {S} in the base kernel class is problematic. The previous solution for this was to override the
do_configureof the base kernel class in a subclass. While this is still a viable/valid option, it does mean that changes to the basedo_configurewill be missed.The solution to this is to copy a defconfig to {B} which is typically the same as {S}, so most kernel recipes won't see or care about this change.
Quoted 6 lines
With this change in place, linux-yocto.bbclass can drop its override of
do_configure.Tested with linux-yocto and oe linux recipes.
Signed-off-by Bruce Ashfield <[email protected]>
Quoted 37 lines
--- meta/classes/kernel-yocto.bbclass | 6 ------ meta/classes/kernel.bbclass | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-)meta/classes/kernel-yocto.bbclass +0
-6@@ -118,12 +118,6 @@ python do_kernel_configcheck() { bb.plain( "%s" % result ) } -# overrides the base kernel_do_configure, since we don't want all the -# defconfig processing in there -kernel_do_configure() { - yes '' | oe_runmake oldconfig -} - # Ensure that the branches (BSP and meta) are on the locatios specified by # their SRCREV values. If they are NOT on the right commits, the branchesmeta/classes/kernel.bbclass +2
-2@@ -181,8 +181,8 @@ sysroot_stage_all_append() { kernel_do_configure() { # Copy defconfig to .config if .config does not exist. This allows # recipes to manage the .config themselves in do_configure_prepend(). - if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${S}/.config" ]; then - cp "${WORKDIR}/defconfig" "${S}/.config" + if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then + cp "${WORKDIR}/defconfig" "${B}/.config" fi yes '' | oe_runmake oldconfig
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
PATCH 3/4 linux-yocto: update LICENSE to GPLv2
In reply to Bruce AshfieldAs reported by Koen Kooi, the LICENSE for linux-yocto can be tightened up to specifiy the particular version of the GPL.
--- meta/recipes-kernel/linux/linux-yocto.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-kernel/linux/linux-yocto.inc +1 -1
@@ -1,6 +1,6 @@ DESCRIPTION = "Yocto Kernel" SECTION = "kernel" -LICENSE = "GPL" +LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
Signature · 1 line
1.7.4.1
Re: [PATCH 3/4] linux-yocto: update LICENSE to GPLv2
Ahh, /me deletes this from his list of things he isn't getting to...
Quoted 5 lines · Bruce Ashfield
As reported by Koen Kooi, the LICENSE for linux-yocto can be tightened up to specifiy the particular version of the GPL.
cc Koen Kooi <[email protected]>Signed-off-by Bruce Ashfield <[email protected]>
Quoted 16 lines
--- meta/recipes-kernel/linux/linux-yocto.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)meta/recipes-kernel/linux/linux-yocto.inc +1
-1@@ -1,6 +1,6 @@ DESCRIPTION = "Yocto Kernel" SECTION = "kernel" -LICENSE = "GPL" +LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
PATCH 4/4 kern-tools: update SRCREV
In reply to Bruce AshfieldFixes [YOCTO #1261]
Updating the SRCREV to pickup some branch creation fixes that were causing an invalid branch name to be used on a repository that couldn't support it (i.e. standard/base on a 2.6.34).
With this the 2.6.34 and 3.0 -rt branches will build.
--- .../kern-tools/kern-tools-native_git.bb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1 -1
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=e2bf4415f3d8 DEPENDS = "git-native guilt-native" -SRCREV = "f8eb067b023d590b6cd8deddf6f96d6a820997af" +SRCREV = "f5a915c277a37ba5949b4c0778356189e7dd9ec0" PR = r10 PV = "0.1+git${SRCPV}"
Signature · 1 line
1.7.4.1
Re: [PATCH 4/4] kern-tools: update SRCREV
Quoted 9 lines · Bruce Ashfield
Fixes [YOCTO #1261]
Updating the SRCREV to pickup some branch creation fixes that were causing an invalid branch name to be used on a repository that couldn't support it (i.e. standard/base on a 2.6.34).
With this the 2.6.34 and 3.0 -rt branches will build.
Signed-off-by Bruce Ashfield <[email protected]>
Quoted 17 lines
--- .../kern-tools/kern-tools-native_git.bb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1
-1@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=e2bf4415f3d8 DEPENDS = "git-native guilt-native" -SRCREV = "f8eb067b023d590b6cd8deddf6f96d6a820997af" +SRCREV = "f5a915c277a37ba5949b4c0778356189e7dd9ec0" PR = r10 PV = "0.1+git${SRCPV}"
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Saul Wold
AppliedQuoted 61 lines · Bruce Ashfield
Richard/Saul,
What follows is a set of kernel changes that have been brewing for a while now:
294170 kern-tools: update SRCREV
65d8b50 linux-yocto: update LICENSE to GPLv2
069e9d9 kernel: copy defconfig to {B} vs {S}
6796e11 linux-yocto: kernel-3.0 support recipeThe patches are pretty self explanitory, but a few comments follow.
The kern-tools tweak Fixes [YOCTO #1261], which allows both the 2.6.34 and 3.0 based -rt kernels to build again.
The next two changes are small cleanups and a allow linux-yocto to inherit changes to the base kernel class'
do_configure().And finally, we create the 3.0 base recipe. A few notes about this are:
- it is a carry forward of the immediately available 2.6.37 (and before) functionality
- it has an audit and cleanup of the config fragments, which was one of the 1.1 deliverables
- it has been built for all core arches, and (attempted) boot tested on them as well.
- it is not the default for any target at the moment, this needs more testing, and there are two known issues I'm tracking a qemumips boot failure that snuck in during the 3.0 -rc cycle (it did boot) and qemuppc interrupts being lost. I'll update the preferred versions as targets are validated.
- I've built and booted the core-images on them, but functionality like graphics, etc, still needs to be tested. There's only so much I can do :)
- the -rt branch is populated with tglx's recent update of -rt!
- separate patches will go out for other layers (meta-kernel-dev, meta-rt, meta-yocto, etc) shortly.** This obviously builds on the other hard work done to get userspace and tools ready for the 3.0 kernel version change. Many thanks for that, since it allowed me to focus on the kernel only.
Patches are welcome for any misbehaving boards or qemu targets :
cc Darren Hart<[email protected]>cc Tom Zanussi<[email protected]>The following changes since commit
1df5ab5ee285b3220348ce0cf371b81446d55832:parse/ConfHandler: Fix multiline variable corruption (2011-07-21 11:09:47 +0100)are available in the git repository at:
git://git.pokylinux.org/poky-contribzedd/kernel
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernelBruce Ashfield (4):
linux-yocto: kernel-3.0 support recipe
kernel: copy defconfig to {B} vs {S}
linux-yocto: update LICENSE to GPLv2
kern-tools: update SRCREV
Quoted 8 lines
meta/classes/kernel-yocto.bbclass | 6 --- meta/classes/kernel.bbclass | 4 +- .../kern-tools/kern-tools-native_git.bb | 2 +- meta/recipes-kernel/linux/linux-yocto.inc | 2 +- meta/recipes-kernel/linux/linux-yocto_3.0.bb | 47 ++++++++++++++++++++ 5 files changed, 51 insertions(+), 10 deletions(-)create mode 100644 meta/recipes-kernel/linux/linux-yocto_3.0.bb
Merged into OE-Core
Thanks
Sau!