kernel-yocto: consolidated pull request
cover kernel-yocto: consolidated pull request
Hi all,
Here's a collection of changes that have been queued over the past couple of weeks.
I'm working on some additional -stable updates, as well as a new release kernel for the fall release, but I wanted to get this queue cleared first.
The patches:
linux-yocto/4.1: netfilter: x_tables: fix stable backport linux-yocto/4.1: bump to v4.1.29 linux-yocto/4.1: config updates
linux-yocto/4.4: -rt update patch meta-data to remove ()
Are typical -stable, and bug fix changes. I haven't seen any issues in my local builds, so all looks well there. These can be taken in isolation from the kernel tools changes that follow:
kernel-yocto: streamline patch, configuration and audit phases yocto-bsp/yocto-kernel: update to work with the latest kern-tools
Are the important part of this series, and a significant contribution to the fall release. I've been testing these for some time, and we've run the kernel lab and yocto-bsp scripts against the tools. We haven't found a regression yet, but I'm sure there are some lurking. These definitely need cycles on the autobuilders.
From the patch itself:
[
We've been running with a set of kern-tools that were designed to work with build systems that knew nothing about git, trees, commits, etc.
As such, there's been a set of shims/wrappers in place to work with within bitbake/oe-core. These were the *me scripts: createme, updateme, patchme and configme.
With this commit, we strip that legacy code and use the tools directly. This means less complexity, fewer corner cases .. and no surprises when the tools are arunning. As another benefit, the tools consume much less time during a typical build and have no noticeable impact on the overall build time.
Existing .scc files, features, and processing are not impacted as these tools are compatible with existing feature descriptions and kerne configuration fragments.
The audit of kernel configuration fragments is now detached from the linux-yocto build structure and process. This means that they can eventually be tweaked to offer kernel audit to any type of kernel build and configuration process.
Additionally, the kernel symbol audit phase can now resolve symbol dependencies and offer guidance when a symbol is missing:
WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_f5e2c49d58-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:
---------- CONFIG_BT_6LOWPAN -----------------
Config: CONFIG_BT_6LOWPAN
From: /home/bruce/poky/build/tmp/work-shared/qemux86-64/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value: CONFIG_BT_6LOWPAN=y
Actual value:
Config 'BT_6LOWPAN' has the following conditionals:
BT_LE && 6LOWPAN (value: "n")
Dependency values are:
BT_LE [y] 6LOWPAN [n]
]
This is the 2nd step in making fragments, and their audit available to any type of kernel build. They are also a significant simplification and speed up of the processing. There's no branching, no conditioning of the tree, etc.
The shortlogs of the tools changes are:
4b5de90 kconf_check: use symbol_why to provide diagnostics on missing options 92f8053 symbol_why: introduce symbol_why
779d675 Makefile: add Kconfiglib to install list
39c00bc tools: import Kconfiglib
68531c9 kgit: add repo clean function
b73353f kgit-scc: update tree gen to new kern-tools
09a1a6c kgit: detect if sourced
2bad46f kgit-meta: adapt to new scc/spp meta series generation 8332818 kconf_check: standalone operation and command line options d7e06ed spp/scc: streamline patch and config series generation f67df1c merge_config: update to mainline variant
a67df68 kgit-s2q: log last patch applied
The overall diffstat for the tools changes are:
b/Makefile | 26 -
b/tools/kconf_check | 923 ++++++++++++++++--------------------
b/tools/kgit | 320 ++++++++----
b/tools/kgit-init | 301 ++---------
b/tools/kgit-meta | 1119 +++-----------------------------------------
b/tools/kgit-s2q | 29 -
b/tools/kgit-scc | 238 ++-------
b/tools/merge_config.sh | 102 ++--
b/tools/scc | 290 +++++++----
b/tools/scc-cmds/auto.cmd | 30 +
b/tools/scc-cmds/branch.cmd | 38 +
b/tools/scc-cmds/define.cmd | 9
b/tools/scc-cmds/kconf.cmd | 55 ++
b/tools/scc-cmds/mark.cmd | 4
b/tools/scc-cmds/patch.cmd | 32 +
b/tools/spp | 653 +++++++++++++++++--------
b/tools/symbol_why.py | 236 +++++++++
tools/configme | 397 ---------------
tools/createme | 235 ---------
tools/patchme | 132 -----
tools/pre_config | 226 --------
tools/updateme | 621 ------------------------
22 files changed, 2001 insertions(+), 4015 deletions(-)We end up at a 2:1 code reduction, and the raw tools are directly used, wins on both counts.
Note: there are still warnings in the kernel meta-data, they are being worked on, but I've left them in place so a few people can see the new kernel audit information :)
Cheers,
Bruce
The following changes since commit 6b66e9317f4ec3a69f98f29836aafa35b52f3fc7:
Allow for simultaneous do_rootfs tasks with rpm (2016-08-12 15:25:22 +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 (6):
linux-yocto/4.1: netfilter: x_tables: fix stable backport linux-yocto/4.1: bump to v4.1.29
linux-yocto/4.1: config updates
linux-yocto/4.4: -rt update patch meta-data to remove ()
kernel-yocto: streamline patch, configuration and audit phases yocto-bsp/yocto-kernel: update to work with the latest kern-tools
meta/classes/kernel-yocto.bbclass | 143 ++++++++------------- .../kern-tools/kern-tools-native_git.bb | 4 +- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 +-- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +- scripts/lib/bsp/kernel.py | 1 - .../linux/files/machine-standard.scc | 2 +- .../linux/files/machine-standard.scc | 2 +- .../linux/files/machine-standard.scc | 2 +- .../linux/files/machine-standard.scc | 2 +- .../linux/files/machine-standard.scc | 2 +- .../linux/files/machine-standard.scc | 10 +- .../linux/files/machine-standard.scc | 2 +- 16 files changed, 85 insertions(+), 123 deletions(-)
Signature · 1 line
2.5.0
PATCH 1/6 linux-yocto/4.1: netfilter: x_tables: fix stable backport
There was an issue with a netfilter backport in 4.1.28-stable. To address it, we backport the -stable fix:
netfilter: x_tables: fix stable backport
Stable-4.1 backport of mainline commit 364723410175 ("netfilter:
x_tables: validate targets of jumps") doesn't handle correctly the fact that 4.1 kernel is missing commit 482cfc318559 ("netfilter: xtables:
avoid percpu ruleset duplication") so that t->entries is still a per-cpu array in find_jump_target().
Use the same fix as e.g. stable-3.14 backport.
--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb +1 -1
@@ -11,7 +11,7 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "0b68498784da5defb7658675e37d9bc615cd4c50" +SRCREV_machine ?= "5772feaf5827e42e1950a91d95b2fc3c1845b5c6" SRCREV_meta ?= "0d6de63d4603b9cc3a4a68391bcb5156b9b0cf96" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \
meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb +1 -1
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.1.28" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "44af900716206d4cae283aa74e92f4118720724a" +SRCREV_machine ?= "f6ab3612272bb22bac371403121609c66c50cd45" SRCREV_meta ?= "0d6de63d4603b9cc3a4a68391bcb5156b9b0cf96" PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_4.1.bb +8 -8
@@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "460340f28dd4ed608fd66692bcbac0bb24fe4aaf" -SRCREV_machine_qemuarm64 ?= "44af900716206d4cae283aa74e92f4118720724a" -SRCREV_machine_qemumips ?= "0ff21b2a5e92defa32b7cb76d39980b63a2eb5ca" -SRCREV_machine_qemuppc ?= "6bd2872ce7e397d285f7df00f4d0efac286e2401" -SRCREV_machine_qemux86 ?= "44af900716206d4cae283aa74e92f4118720724a" -SRCREV_machine_qemux86-64 ?= "44af900716206d4cae283aa74e92f4118720724a" -SRCREV_machine_qemumips64 ?= "248861985b609d1cd24e8d23b7d15abfb31cbdc2" -SRCREV_machine ?= "44af900716206d4cae283aa74e92f4118720724a" +SRCREV_machine_qemuarm ?= "2f133a201f2bbde4ce33731d1596d5144360bf87" +SRCREV_machine_qemuarm64 ?= "f6ab3612272bb22bac371403121609c66c50cd45" +SRCREV_machine_qemumips ?= "d1cbc627631f706d19e8e4518bfc38b266f3fb9f" +SRCREV_machine_qemuppc ?= "d1699ce26291a3e07113057ad7e235f7891e73fb" +SRCREV_machine_qemux86 ?= "f6ab3612272bb22bac371403121609c66c50cd45" +SRCREV_machine_qemux86-64 ?= "f6ab3612272bb22bac371403121609c66c50cd45" +SRCREV_machine_qemumips64 ?= "725278e5cbc402139051032a7b2137f6707c46d6" +SRCREV_machine ?= "f6ab3612272bb22bac371403121609c66c50cd45" SRCREV_meta ?= "0d6de63d4603b9cc3a4a68391bcb5156b9b0cf96" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \
Signature · 1 line
2.5.0
PATCH 2/6 linux-yocto/4.1: bump to v4.1.29
In reply to Bruce AshfieldIntegrating the korg 4.1.29 -stable release
--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++---------- 3 files changed, 16 insertions(+), 16 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb +3 -3
@@ -11,13 +11,13 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "5772feaf5827e42e1950a91d95b2fc3c1845b5c6" -SRCREV_meta ?= "0d6de63d4603b9cc3a4a68391bcb5156b9b0cf96" +SRCREV_machine ?= "b1e722634976e1bcf9dc73bcbcfe3487c3fd7e4d" +SRCREV_meta ?= "71dddd41d8395014d942ac8f20f1255751cb144f" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.1.28" +LINUX_VERSION ?= "4.1.29" PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb +3 -3
@@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.1.28" +LINUX_VERSION ?= "4.1.29" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "f6ab3612272bb22bac371403121609c66c50cd45" -SRCREV_meta ?= "0d6de63d4603b9cc3a4a68391bcb5156b9b0cf96" +SRCREV_machine ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" +SRCREV_meta ?= "71dddd41d8395014d942ac8f20f1255751cb144f" PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_4.1.bb +10 -10
@@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base" KBRANCH_qemux86-64 ?= "standard/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "2f133a201f2bbde4ce33731d1596d5144360bf87" -SRCREV_machine_qemuarm64 ?= "f6ab3612272bb22bac371403121609c66c50cd45" -SRCREV_machine_qemumips ?= "d1cbc627631f706d19e8e4518bfc38b266f3fb9f" -SRCREV_machine_qemuppc ?= "d1699ce26291a3e07113057ad7e235f7891e73fb" -SRCREV_machine_qemux86 ?= "f6ab3612272bb22bac371403121609c66c50cd45" -SRCREV_machine_qemux86-64 ?= "f6ab3612272bb22bac371403121609c66c50cd45" -SRCREV_machine_qemumips64 ?= "725278e5cbc402139051032a7b2137f6707c46d6" -SRCREV_machine ?= "f6ab3612272bb22bac371403121609c66c50cd45" -SRCREV_meta ?= "0d6de63d4603b9cc3a4a68391bcb5156b9b0cf96" +SRCREV_machine_qemuarm ?= "09b5eed6e905503646514803787d82f504013144" +SRCREV_machine_qemuarm64 ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" +SRCREV_machine_qemumips ?= "582073e7a49b0847052be78254805f33635dc837" +SRCREV_machine_qemuppc ?= "0914d10f46f22582e955b06590768ec51e8a91c3" +SRCREV_machine_qemux86 ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" +SRCREV_machine_qemux86-64 ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" +SRCREV_machine_qemumips64 ?= "ca25d7656f7eaeb8454a182cfa38fb704ec85276" +SRCREV_machine ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" +SRCREV_meta ?= "71dddd41d8395014d942ac8f20f1255751cb144f" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.1.28" +LINUX_VERSION ?= "4.1.29" PV = "${LINUX_VERSION}+git${SRCPV}"
Signature · 1 line
2.5.0
Re: [PATCH 2/6] linux-yocto/4.1: bump to v4.1.29
Quoted 9 lines · Bruce Ashfield
Integrating the korg 4.1.29 -stable release
Signed-off-by Bruce Ashfield <[email protected]>--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++--- ------- 3 files changed, 16 insertions(+), 16 deletions(-)
FWIW since the update before this one, we've seen a lot of instability in ppc:
basically the network seems very flaky. Doesn't happen every time but we are seeing a rising number of these kinds of 'random' failures. Are there any ppc changes or fixes which look like they're responsible, I'm pretty sure its something 4.1 kernel related...
The update also triggered a new 'error' for amd_nb in the error log parsing which I just whitelisted, probably from some change in the configuration options enabled.
Cheers,
Richard
Re: [PATCH 2/6] linux-yocto/4.1: bump to v4.1.29
Quoted 16 lines · Richard Purdie
Quoted 9 lines · Bruce Ashfield
Integrating the korg 4.1.29 -stable release
Signed-off-by Bruce Ashfield <[email protected]>--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++--- ------- 3 files changed, 16 insertions(+), 16 deletions(-)FWIW since the update before this one, we've seen a lot of instability in ppc:
Quoted 8 lines
basically the network seems very flaky. Doesn't happen every time but we are seeing a rising number of these kinds of 'random' failures. Are there any ppc changes or fixes which look like they're responsible, I'm pretty sure its something 4.1 kernel related...
The update also triggered a new 'error' for
amd_nbin the error log parsing which I just whitelisted, probably from some change in the configuration options enabled.
I have a 4.1.30 update queued locally, and I'll double check to see what may have changed in the configuration that could explain any new warnings or instability.
Bruce
Quoted 5 lines
Cheers,
Richard
Re: [PATCH 2/6] linux-yocto/4.1: bump to v4.1.29
Quoted 28 lines · Bruce Ashfield
Quoted 27 lines · Richard Purdie
Quoted 10 lines · Bruce Ashfield
Integrating the korg 4.1.29 -stable release
Signed-off-by Bruce Ashfield <[email protected]>--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++--- ------- 3 files changed, 16 insertions(+), 16 deletions(-)FWIW since the update before this one, we've seen a lot of instability
in ppc:https://autobuilder.yoctoproject.org/main/builders/nightly-ppc-lsb/
builds/881/steps/Running%20Sanity%20Tests/logs/stdiobasically the network seems very flaky. Doesn't happen every time but
we are seeing a rising number of these kinds of 'random' failures. Are
there any ppc changes or fixes which look like they're responsible, I'm
pretty sure its something 4.1 kernel related...
Quoted 7 lines
Quoted 3 lines
The update also triggered a new 'error' for
amd_nbin the error log parsing which I just whitelisted, probably from some change in the configuration options enabled.I have a 4.1.30 update queued locally, and I'll double check to see what may have changed in the configuration that could explain any new warnings or instability.
Just to be clear, the amb_nd change was on qemux86* on 4.1
fixed with:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=26b0657b2f78751e60df6e695d5bc0dd703a5bc2
The ppc issue is a separate one.
Cheers,
Richard
Re: [PATCH 2/6] linux-yocto/4.1: bump to v4.1.29
Quoted 37 lines · Richard Purdie
Quoted 28 lines · Bruce Ashfield
Quoted 27 lines · Richard Purdie
Quoted 10 lines · Bruce Ashfield
Integrating the korg 4.1.29 -stable release
Signed-off-by Bruce Ashfield <[email protected]>--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++--- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++--- ------- 3 files changed, 16 insertions(+), 16 deletions(-)FWIW since the update before this one, we've seen a lot of instability
in ppc:https://autobuilder.yoctoproject.org/main/builders/nightly-ppc-lsb/
builds/881/steps/Running%20Sanity%20Tests/logs/stdiobasically the network seems very flaky. Doesn't happen every time but
we are seeing a rising number of these kinds of 'random' failures. Are
there any ppc changes or fixes which look like they're responsible, I'm
pretty sure its something 4.1 kernel related...Quoted 7 lines
Quoted 3 lines
The update also triggered a new 'error' for
amd_nbin the error log parsing which I just whitelisted, probably from some change in the configuration options enabled.I have a 4.1.30 update queued locally, and I'll double check to see what may have changed in the configuration that could explain any new warnings or instability.
Quoted 7 lines
Just to be clear, the
amb_ndchange was on qemux86* on 4.1fixed with:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=26b0657b2f78751e60df6e695d5bc0dd703a5bc2
I had a look at this, and I don't have a root cause for why this is just popping up now. I'm trying to track down an older build, so I can compare the .configs.
The kernel code, and Kconfig files themselves haven't changed in some time, and the symbol in question AMD_NB is default 'y' if the dependencies are met. We include cfg/amd.scc in all of the qemux86* builds, so it gets enabled (as it should have before).
I could force that option off, but the whitelist is an appropriate fix, since this is an interaction between qemu and the kernel, whereas the files that include amd.scc are targeted at a range of platforms.
Quoted 2 lines
The ppc issue is a separate one.
I've been blasting away on my 4.1.30 qemuppc build, and I'm not seeing anything yet, but I will keep trying.
Bruce
Quoted 6 lines
Cheers,
Richard
Re: [PATCH 2/6] linux-yocto/4.1: bump to v4.1.29
Quoted 73 lines · Bruce Ashfield
Quoted 48 lines · Richard Purdie
Quoted 40 lines · Bruce Ashfield
Quoted 33 lines · Richard Purdie
Review
Quoted 12 lines · Bruce Ashfield
Integrating the korg 4.1.29 -stable release
Signed-off-by Bruce Ashfield <[email protected]>--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--(quoted diff) +1
-3- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++-- - meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++--- ------- 3 files changed, 16 insertions(+), 16 deletions(-)FWIW since the update before this one, we've seen a lot of instability
in ppc:https://autobuilder.yoctoproject.org/main/builders/nightly-ppc-
lsb/ builds/881/steps/Running%20Sanity%20Tests/logs/stdiobasically the network seems very flaky. Doesn't happen every time
but
we are seeing a rising number of these kinds of 'random' failures.
Are
there any ppc changes or fixes which look like they're responsible,
I'm
pretty sure its something 4.1 kernel related...Quoted 5 lines
The update also triggered a new 'error' for
amd_nbin the error log
parsing which I just whitelisted, probably from some change in the
configuration options enabled.Quoted 4 lines
I have a 4.1.30 update queued locally, and I'll double check to see
what may have changed in the configuration that could explain any new warnings or instability.Just to be clear, the
amb_ndchange was on qemux86* on 4.1Quoted 7 lines
https://autobuilder.yoctoproject.org/main/builders/nightly-x86-64-l
sb/builds/911/steps/Running%20Sanity%20Tests/logs/stdiofixed with:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=26b0657b2f7875
1e60df6e695d5bc0dd703a5bc2I had a look at this, and I don't have a root cause for why this is just popping up now. I'm trying to track down an older build, so I can
compare the .configs.The kernel code, and
Kconfigfiles themselves haven't changed in some time, and the symbol in questionAMD_NBis default 'y' if the dependencies are met. We include cfg/amd.scc in all of the qemux86* builds, so it gets enabled (as it should have before).I could force that option off, but the whitelist is an appropriate fix,
since this is an interaction between qemu and the kernel, whereas the files that include amd.scc are targeted at a range of platforms.Quoted 1 line
Quoted 5 lines
Quoted 1 line
The ppc issue is a separate one.
I've been blasting away on my 4.1.30 qemuppc build, and I'm not seeing
anything yet, but I will keep trying.
Its still going on even with the recent updates:
Seems the network works intermittently, dropping connections...
Cheers,
Richard
Re: [PATCH 2/6] linux-yocto/4.1: bump to v4.1.29
Quoted 80 lines · Richard Purdie
Quoted 73 lines · Bruce Ashfield
Quoted 48 lines · Richard Purdie
Quoted 40 lines · Bruce Ashfield
Quoted 33 lines · Richard Purdie
Review
Quoted 12 lines · Bruce Ashfield
Integrating the korg 4.1.29 -stable release
Signed-off-by Bruce Ashfield <[email protected]>--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++--(quoted diff) +1
-3- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++-- - meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++--- ------- 3 files changed, 16 insertions(+), 16 deletions(-)FWIW since the update before this one, we've seen a lot of instability
in ppc:https://autobuilder.yoctoproject.org/main/builders/nightly-ppc-
lsb/ builds/881/steps/Running%20Sanity%20Tests/logs/stdiobasically the network seems very flaky. Doesn't happen every time
but
we are seeing a rising number of these kinds of 'random' failures.
Are
there any ppc changes or fixes which look like they're responsible,
I'm
pretty sure its something 4.1 kernel related...Quoted 5 lines
The update also triggered a new 'error' for
amd_nbin the error log
parsing which I just whitelisted, probably from some change in the
configuration options enabled.Quoted 4 lines
I have a 4.1.30 update queued locally, and I'll double check to see
what may have changed in the configuration that could explain any new warnings or instability.Just to be clear, the
amb_ndchange was on qemux86* on 4.1Quoted 7 lines
https://autobuilder.yoctoproject.org/main/builders/nightly-x86-64-l
sb/builds/911/steps/Running%20Sanity%20Tests/logs/stdiofixed with:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=26b0657b2f7875
1e60df6e695d5bc0dd703a5bc2I had a look at this, and I don't have a root cause for why this is just popping up now. I'm trying to track down an older build, so I can
compare the .configs.The kernel code, and
Kconfigfiles themselves haven't changed in some time, and the symbol in questionAMD_NBis default 'y' if the dependencies are met. We include cfg/amd.scc in all of the qemux86* builds, so it gets enabled (as it should have before).I could force that option off, but the whitelist is an appropriate fix,
since this is an interaction between qemu and the kernel, whereas the files that include amd.scc are targeted at a range of platforms.Quoted 1 line
Quoted 5 lines
Quoted 1 line
The ppc issue is a separate one.
I've been blasting away on my 4.1.30 qemuppc build, and I'm not seeing
anything yet, but I will keep trying.
Quoted 7 lines
Its still going on even with the recent updates:
https://autobuilder.yoctoproject.org/main/builders/nightly-ppc-lsb/
builds/889/steps/Running%20Sanity%20Tests/logs/stdioSeems the network works intermittently, dropping connections...
Hmm.
I've had a qemuppc up and running for 3 days now, doing transfers of files from my server, and yet my network hasn't dropped.
I'll continue trying to figure this out.
Bruce
Quoted 10 lines
Cheers,
Richard
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end"
PATCH 3/6 linux-yocto/4.1: config updates
In reply to Bruce AshfieldIntegrating the following configuration changes:
features: usb-net: provide more coverage on USB network devices
features: broxton: enable iTCO watchdog support
features: broxton: enable iSMT support
features: broxton: enable LPC bridge function for Intel ICH and SCH
--- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.1.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb +1 -1
@@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "b1e722634976e1bcf9dc73bcbcfe3487c3fd7e4d" -SRCREV_meta ?= "71dddd41d8395014d942ac8f20f1255751cb144f" +SRCREV_meta ?= "497e2eb5c259c4ac434d09555b33da9ed4a8667e" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb +1 -1
@@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" -SRCREV_meta ?= "71dddd41d8395014d942ac8f20f1255751cb144f" +SRCREV_meta ?= "497e2eb5c259c4ac434d09555b33da9ed4a8667e" PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_4.1.bb +1 -1
@@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" SRCREV_machine_qemux86-64 ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" SRCREV_machine_qemumips64 ?= "ca25d7656f7eaeb8454a182cfa38fb704ec85276" SRCREV_machine ?= "053af7be9159a0b5a016a3e399de1484e51f26cd" -SRCREV_meta ?= "71dddd41d8395014d942ac8f20f1255751cb144f" +SRCREV_meta ?= "497e2eb5c259c4ac434d09555b33da9ed4a8667e" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
Signature · 1 line
2.5.0
PATCH 4/6 linux-yocto/4.4: -rt update patch meta-data to remove ()
In reply to Bruce AshfieldThe existing kernel patching scripts don't like () in patch names, since they are detected as function calls. Although the scripts will be updated to avoid this error, it is worthwhile fixing the patch names in the meantime.
--- meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +1 -1
@@ -12,7 +12,7 @@ python () { } SRCREV_machine ?= "2b65eaade74b9ec3b3009a6939461ea55d646801" -SRCREV_meta ?= "86bf91f444418076181fedba14bdafad3a531cf0" +SRCREV_meta ?= "b030d96c7b8c391a9e155719d649eb0f87358117" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb +1 -1
@@ -10,7 +10,7 @@ KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" SRCREV_machine ?= "ddab242999407fadae68e7ee5381b0ec6679d443" -SRCREV_meta ?= "86bf91f444418076181fedba14bdafad3a531cf0" +SRCREV_meta ?= "b030d96c7b8c391a9e155719d649eb0f87358117" PV = "${LINUX_VERSION}+git${SRCPV}"
meta/recipes-kernel/linux/linux-yocto_4.4.bb +1 -1
@@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "ddab242999407fadae68e7ee5381b0ec6679d443" SRCREV_machine_qemux86-64 ?= "ddab242999407fadae68e7ee5381b0ec6679d443" SRCREV_machine_qemumips64 ?= "2d0080f2350e088bdc6129c376eb9e2654a0448a" SRCREV_machine ?= "ddab242999407fadae68e7ee5381b0ec6679d443" -SRCREV_meta ?= "86bf91f444418076181fedba14bdafad3a531cf0" +SRCREV_meta ?= "b030d96c7b8c391a9e155719d649eb0f87358117" SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
Signature · 1 line
2.5.0
PATCH 5/6 kernel-yocto: streamline patch, configuration and audit phases
In reply to Bruce AshfieldWe've been running with a set of kern-tools that were designed to work with build systems that knew nothing about git, trees, commits, etc.
As such, there's been a set of shims/wrappers in place to work with within bitbake/oe-core. These were the *me scripts: createme, updateme, patchme and configme.
With this commit, we strip that legacy code and use the tools directly. This means less complexity, fewer corner cases .. and no surprises when the tools are arunning. As another benefit, the tools consume much less time during a typical build and have no noticeable impact on the overall build time.
Existing .scc files, features, and processing are not impacted as these tools are compatible with existing feature descriptions and kerne configuration fragments.
The audit of kernel configuration fragments is now detached from the linux-yocto build structure and process. This means that they can eventually be tweaked to offer kernel audit to any type of kernel build and configuration process.
Additionally, the kernel symbol audit phase can now resolve symbol dependencies and offer guidance when a symbol is missing:
WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_f5e2c49d58-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:
---------- CONFIG_BT_6LOWPAN -----------------
Config: CONFIG_BT_6LOWPAN
From: /home/bruce/poky/build/tmp/work-shared/qemux86-64/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value: CONFIG_BT_6LOWPAN=y
Actual value:
Config 'BT_6LOWPAN' has the following conditionals:
BT_LE && 6LOWPAN (value: "n")
Dependency values are:
BT_LE [y] 6LOWPAN [n]--- meta/classes/kernel-yocto.bbclass | 143 ++++++++------------- .../kern-tools/kern-tools-native_git.bb | 4 +- 2 files changed, 55 insertions(+), 92 deletions(-)
meta/classes/kernel-yocto.bbclass +53 -90
@@ -119,77 +119,42 @@ do_kernel_metadata() { patches="${@" ".join(find_patches(d))}" feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}" - # add any explicitly referenced features onto the end of the feature - # list that is passed to the kernel build scripts. - if [ -n "${KERNEL_FEATURES}" ]; then - for feat in ${KERNEL_FEATURES}; do - addon_features="$addon_features --feature $feat" - done - fi - # check for feature directories/repos/branches that were part of the # SRC_URI. If they were supplied, we convert them into include directives # for the update part of the process - if [ -n "${feat_dirs}" ]; then - for f in ${feat_dirs}; do + for f in ${feat_dirs}; do if [ -d "${WORKDIR}/$f/meta" ]; then - includes="$includes -I${WORKDIR}/$f/meta" + includes="$includes -I${WORKDIR}/$f/meta" elif [ -d "${WORKDIR}/$f" ]; then - includes="$includes -I${WORKDIR}/$f" + includes="$includes -I${WORKDIR}/$f" fi - done - fi + done + for s in ${sccs}; do + sdir=$(dirname $s) + includes="$includes -I${sdir}" + done - # updates or generates the target description - updateme ${updateme_flags} -DKDESC=${KMACHINE}:${LINUX_KERNEL_TYPE} \ - ${includes} ${addon_features} ${ARCH} ${KMACHINE} ${sccs} ${patches} - if [ $? -ne 0 ]; then - bbfatal_log "Could not update ${machine_branch}" - fi + # expand kernel features into their full path equivalents + bsp_definition=$(spp ${includes} --find -DKMACHINE=${KMACHINE} -DKTYPE=${LINUX_KERNEL_TYPE}) + meta_dir=$(kgit --meta) + + # run1: pull all the configuration fragments, no matter where they come from + scc --force -o ${S}/${meta_dir}:cfg,meta ${includes} ${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES} + + # run2: only generate patches for elements that have been passed on the SRC_URI + scc --force -o ${S}/${meta_dir}:patch --cmds patch ${includes} ${sccs} ${patches} ${KERNEL_FEATURES} } do_patch() { cd ${S} - # executes and modifies the source tree as required - patchme ${KMACHINE} - if [ $? -ne 0 ]; then - bberror "Could not apply patches for ${KMACHINE}." - bbfatal_log "Patch failures can be resolved in the linux source directory ${S})" - fi - - # check to see if the specified SRCREV is reachable from the final branch. - # if it wasn't something wrong has happened, and we should error. - machine_srcrev="${SRCREV_machine}" - if [ -z "${machine_srcrev}" ]; then - # fallback to SRCREV if a non machine_meta tree is being built - machine_srcrev="${SRCREV}" - # if SRCREV cannot be reached something is wrong. - if [ -z "${machine_srcrev}" ]; then - bbfatal "Neither SRCREV_machine or SRCREV was specified!" - fi - fi - - if [ -n "${KMETA_AUDIT}" ]; then - current_branch=`git rev-parse --abbrev-ref HEAD` - machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}" - if [ "${current_branch}" != "${machine_branch}" ]; then - bbwarn "After meta data application, the kernel tree branch is ${current_branch}." - bbwarn "The SRC_URI specified branch ${machine_branch}." - bbwarn "" - bbwarn "The branch will be forced to ${machine_branch}, but this means the board meta data" - bbwarn "(.scc files) do not match the SRC_URI specification." - bbwarn "" - bbwarn "The meta data and branch ${machine_branch} should be inspected to ensure the proper" - bbwarn "kernel is being built." - git checkout -f ${machine_branch} - fi - fi - - if [ "${machine_srcrev}" != "AUTOINC" ]; then - if ! [ "$(git rev-parse --verify ${machine_srcrev}~0)" = "$(git merge-base ${machine_srcrev} HEAD)" ]; then - bberror "SRCREV ${machine_srcrev} was specified, but is not reachable" - bbfatal "Check the BSP description for incorrect branch selection, or other errors." + meta_dir=$(kgit --meta) + (cd ${meta_dir}; ln -sf patch.queue series) + if [ -f "${meta_dir}/series" ]; then + kgit-s2q --gen -v --patches .kernel-meta/ + if [ $? -ne 0 ]; then + bberror "Could not apply patches for ${KMACHINE}." + bbfatal_log "Patch failures can be resolved in the linux source directory ${S})" fi fi }
@@ -258,26 +223,37 @@ do_kernel_metadata[depends] = "kern-tools-native:do_populate_sysroot" do_kernel_configme[dirs] += "${S} ${B}" do_kernel_configme() { - bbnote "kernel configme" - export KMETA=${KMETA} + set +e - if [ -n "${KCONFIG_MODE}" ]; then - configmeflags=${KCONFIG_MODE} - else - # If a defconfig was passed, use =n as the baseline, which is achieved - # via --allnoconfig + # translate the kconfig_mode into something that merge_config.sh + # understands + case ${KCONFIG_MODE} in + allnoconfig) + config_flags="-n" + ;; + alldefconfig) + config_flags="" + ;; + *) if [ -f ${WORKDIR}/defconfig ]; then - configmeflags="--allnoconfig" + config_flags="-n" fi - fi + ;; + esac cd ${S} - PATH=${PATH}:${S}/scripts/util - configme ${configmeflags} --reconfig --output ${B} ${LINUX_KERNEL_TYPE} ${KMACHINE} + + meta_dir=$(kgit --meta) + configs="$(scc --configs -o ${meta_dir})" + if [ -z "${configs}" ]; then + bbfatal_log "Could not find configuration queue (${meta_dir}/config.queue)" + fi + + ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} > ${meta_dir}/cfg/merge_config_build.log 2>&1 if [ $? -ne 0 ]; then bbfatal_log "Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}" fi - + echo "# Global settings from linux recipe" >> ${B}/.config echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config }
@@ -295,36 +271,23 @@ python do_kernel_configcheck() { kmeta = "." + kmeta pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/") - cmd = d.expand("cd ${S}; kconf_check -config %s/meta-series ${S} ${B}" % kmeta) + + cmd = d.expand("scc --configs -o ${S}/.kernel-meta") + ret, configs = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd)) + + cmd = d.expand("cd ${S}; kconf_check --report -o ${S}/%s/cfg/ ${B}/.config ${S} %s" % (kmeta,configs)) ret, result = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd)) config_check_visibility = int(d.getVar( "KCONF_AUDIT_LEVEL", True ) or 0) bsp_check_visibility = int(d.getVar( "KCONF_BSP_AUDIT_LEVEL", True ) or 0) # if config check visibility is non-zero, report dropped configuration values - mismatch_file = "${S}/" + kmeta + "/" + "mismatch.cfg" + mismatch_file = d.expand("${S}/%s/cfg/mismatch.txt" % kmeta) if os.path.exists(mismatch_file): if config_check_visibility: with open (mismatch_file, "r") as myfile: results = myfile.read() bb.warn( "[kernel config]: specified values did not make it into the kernel's final configuration:\n\n%s" % results) - - # if config check visibility is level 2 or higher, report non-hardware options - nonhw_file = "${S}/" + kmeta + "/" + "nonhw_report.cfg" - if os.path.exists(nonhw_file): - if config_check_visibility > 1: - with open (nonhw_file, "r") as myfile: - results = myfile.read() - bb.warn( "[kernel config]: BSP specified non-hw configuration:\n\n%s" % results) - - bsp_desc = "${S}/" + kmeta + "/" + "top_tgt" - if os.path.exists(bsp_desc) and bsp_check_visibility > 1: - with open (bsp_desc, "r") as myfile: - bsp_tgt = myfile.read() - m = re.match("^(.*)scratch.obj(.*)$", bsp_tgt) - if not m is None: - bb.warn( "[kernel]: An auto generated BSP description was used, this normally indicates a misconfiguration.\n" + - "Check that your machine (%s) has an associated kernel description." % "${MACHINE}" ) } # Ensure that the branches (BSP and meta) are on the locations specified by
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +2 -2
@@ -1,10 +1,10 @@ SUMMARY = "Tools for managing Yocto Project style branched kernels" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=d8d1d729a70cd5f52972f8884b80743d" +LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1bda400e2828845ba0d06c" DEPENDS = "git-native" -SRCREV = "a6a6f6e1e738d2ecd26b675e9bec867105703416" +SRCREV = "4b5de9011b31ff92ba2b6e052ab818b09affd905" PR = "r12" PV = "0.2+git${SRCPV}"
Signature · 1 line
2.5.0
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
My kmeta stuff is located directly inside two meta-* layers (i.e. not in an extra git repo), where the 2nd layer's kernel recipes .bbappends to the 1st one with additional kmeta things.
This used to work fine, but since this commit it doesn't anymore as only the kmeta stuff from the 2nd layer is being copied into workdir.
Have I been doing something that wasn't guaranteed / supposed to work in the first place? Or should that still work? Is it worth fixing or should I rethink my approach?
Cheers,
Andre'
Quoted 315 lines · Bruce Ashfield
We've been running with a set of kern-tools that were designed to work with build systems that knew nothing about git, trees, commits, etc.
As such, there's been a set of shims/wrappers in place to work with within bitbake/oe-core. These were the *me scripts: createme, updateme, patchme and configme.
With this commit, we strip that legacy code and use the tools directly. This means less complexity, fewer corner cases .. and no surprises when the tools are arunning. As another benefit, the tools consume much less time during a typical build and have no noticeable impact on the overall build time.
Existing .scc files, features, and processing are not impacted as these tools are compatible with existing feature descriptions and kerne configuration fragments.
The audit of kernel configuration fragments is now detached from the linux-yocto build structure and process. This means that they can eventually be tweaked to offer kernel audit to any type of kernel build and configuration process.
Additionally, the kernel symbol audit phase can now resolve symbol dependencies and offer guidance when a symbol is missing:
WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_f5e2c49d58-r0
do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:----------
CONFIG_BT_6LOWPAN-----------------
Config:CONFIG_BT_6LOWPAN
From:/home/bruce/poky/build/tmp/work-shared/qemux86-64/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value: CONFIG_BT_6LOWPAN=y
Actual value:Config '
BT_6LOWPAN' has the following conditionals:
BT_LE && 6LOWPAN (value: "n")
Dependency values are:
BT_LE [y] 6LOWPAN [n]Signed-off-by Bruce Ashfield <[email protected]>---
meta/classes/kernel-yocto.bbclass | 143 ++++++++------
-------
.../kern-tools/kern-tools-native_git.bb | 4 +-2 files changed, 55 insertions(+), 92 deletions(-)meta/classes/kernel- renamed from meta/classes/kernel-yocto.bbclass +0
-0yocto.bbclass
index a9d4205..8650e55 100644meta/classes/kernel-yocto.bbclass +0
-0@@ -119,77 +119,42 @@ do_kernel_metadata() {patches="${@" ".join(find_patches(d))}" feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}"
meta/classes/kernel-yocto.bbclass +0
-1- # add any explicitly referenced features onto the end of thefeature
meta/classes/kernel-yocto.bbclass +0
-7- # list that is passed to the kernel build scripts. - if [ -n "${KERNEL_FEATURES}" ]; then - for feat in ${KERNEL_FEATURES}; do - addon_features="$addon_features --feature $feat" - done - fi -# check for feature directories/repos/branches that were part of the # SRC_URI. If they were supplied, we convert them into include directives # for the update part of the processmeta/classes/kernel-yocto.bbclass +1
-2- if [ -n "${feat_dirs}" ]; then - for f in ${feat_dirs}; do + for f in ${feat_dirs}; doif [ -d "${WORKDIR}/$f/meta" ]; then
meta/classes/kernel-yocto.bbclass +1
-1- includes="$includes -I${WORKDIR}/$f/meta" + includes="$includes -I${WORKDIR}/$f/meta"elif [ -d "${WORKDIR}/$f" ]; then
meta/classes/kernel-yocto.bbclass +1
-1- includes="$includes -I${WORKDIR}/$f" + includes="$includes -I${WORKDIR}/$f"fi
meta/classes/kernel-yocto.bbclass +5
-2- done - fi + done + for s in ${sccs}; do + sdir=$(dirname $s) + includes="$includes -I${sdir}" + donemeta/classes/kernel-yocto.bbclass +0
-4- # updates or generates the target description - updateme ${updateme_flags} -DKDESC=${KMACHINE}:${LINUX_KERNEL_TYPE} \ - ${includes} ${addon_features} ${ARCH}${KMACHINE} ${sccs} ${patches}
meta/classes/kernel-yocto.bbclass +5
-4- if [ $? -ne 0 ]; then - bbfatal_log "Could not update ${machine_branch}" - fi + # expand kernel features into their full path equivalents + bsp_definition=$(spp ${includes} --find -DKMACHINE=${KMACHINE} -DKTYPE=${LINUX_KERNEL_TYPE}) + meta_dir=$(kgit --meta) + + # run1: pull all the configuration fragments, no matter wherethey come from
meta/classes/kernel-yocto.bbclass +1
-0+ scc --force -o ${S}/${meta_dir}:cfg,meta ${includes}${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES}
meta/classes/kernel-yocto.bbclass +2
-0+ + # run2: only generate patches for elements that have been passedon the
SRC_URImeta/classes/kernel-yocto.bbclass +1
-0+ scc --force -o ${S}/${meta_dir}:patch --cmds patch ${includes}${sccs} ${patches} ${KERNEL_FEATURES}
}
do_patch() {
cd ${S}meta/classes/kernel-yocto.bbclass +0
-5- # executes and modifies the source tree as required - patchme ${KMACHINE} - if [ $? -ne 0 ]; then - bberror "Could not apply patches for ${KMACHINE}." - bbfatal_log "Patch failures can be resolved in the linuxsource directory ${S})"
meta/classes/kernel-yocto.bbclass +0
-3- fi - - # check to see if the specified SRCREV is reachable from thefinal branch.
meta/classes/kernel-yocto.bbclass +0
-4- # if it wasn't something wrong has happened, and we should error. - machine_srcrev="${SRCREV_machine}" - if [ -z "${machine_srcrev}" ]; then - # fallback to SRCREV if a non machine_meta tree is beingbuilt
meta/classes/kernel-yocto.bbclass +0
-4- machine_srcrev="${SRCREV}" - # if SRCREV cannot be reached something is wrong. - if [ -z "${machine_srcrev}" ]; then - bbfatal "Neither SRCREV_machine or SRCREV wasspecified!"
meta/classes/kernel-yocto.bbclass +0
-8- fi - fi - - if [ -n "${KMETA_AUDIT}" ]; then - current_branch=`git rev-parse --abbrev-ref HEAD` - machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}" - if [ "${current_branch}" != "${machine_branch}" ]; then - bbwarn "After meta data application, the kernel treebranch is ${current_branch}."
- bbwarn "TheSRC_URIspecified branch ${machine_branch}." - bbwarn ""
- bbwarn "The branch will be forced to ${machine_branch}, but this means the board meta data"
- bbwarn "(.scc files) do not match theSRC_URIspecification."
- bbwarn ""
- bbwarn "The meta data and branch ${machine_branch} should be inspected to ensure the proper"
- bbwarn "kernel is being built."
- git checkout -f ${machine_branch}
- fi
- fimeta/classes/kernel-yocto.bbclass +0
-3- - if [ "${machine_srcrev}" != "AUTOINC" ]; then - if ! [ "$(git rev-parse --verify ${machine_srcrev}~0)" ="$(git merge-base ${machine_srcrev} HEAD)" ]; then
meta/classes/kernel-yocto.bbclass +0
-1- bberror "SRCREV ${machine_srcrev} was specified,but is not reachable"
meta/classes/kernel-yocto.bbclass +0
-1- bbfatal "Check the BSP description for incorrectbranch selection, or other errors."
meta/classes/kernel-yocto.bbclass +6
-0+ meta_dir=$(kgit --meta) + (cd ${meta_dir}; ln -sf patch.queue series) + if [ -f "${meta_dir}/series" ]; then + kgit-s2q --gen -v --patches .kernel-meta/ + if [ $? -ne 0 ]; then + bberror "Could not apply patches for${KMACHINE}."
meta/classes/kernel-yocto.bbclass +1
-0+ bbfatal_log "Patch failures can be resolved inthe linux source directory ${S})"
fi
fi
}meta/classes/kernel-yocto.bbclass +0
-0@@ -258,26 +223,37 @@ do_kernel_metadata[depends] = "kern-tools-native:do_populate_sysroot"
do_kernel_configme[dirs] += "${S} ${B}"
do_kernel_configme() {meta/classes/kernel-yocto.bbclass +1
-2- bbnote "kernel configme" - export KMETA=${KMETA} + set +emeta/classes/kernel-yocto.bbclass +0
-4- if [ -n "${KCONFIG_MODE}" ]; then - configmeflags=${KCONFIG_MODE} - else - # If a defconfig was passed, use =n as the baseline,which is achieved
meta/classes/kernel-yocto.bbclass +10
-1- # via --allnoconfig + # translate the kconfig_mode into something that merge_config.sh + # understands + case ${KCONFIG_MODE} in + allnoconfig) + config_flags="-n" + ;; + alldefconfig) + config_flags="" + ;; + *)if [ -f ${WORKDIR}/defconfig ]; then
meta/classes/kernel-yocto.bbclass +1
-1- configmeflags="--allnoconfig" + config_flags="-n"fi
meta/classes/kernel-yocto.bbclass +2
-1- fi + ;; + esac
cd ${S}meta/classes/kernel-yocto.bbclass +0
-2- PATH=${PATH}:${S}/scripts/util - configme ${configmeflags} --reconfig --output ${B}${LINUX_KERNEL_TYPE} ${KMACHINE}
meta/classes/kernel-yocto.bbclass +5
-0+ + meta_dir=$(kgit --meta) + configs="$(scc --configs -o ${meta_dir})" + if [ -z "${configs}" ]; then + bbfatal_log "Could not find configuration queue(${meta_dir}/config.queue)"
meta/classes/kernel-yocto.bbclass +3
-0+ fi + + ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} >${meta_dir}/cfg/merge_config_build.log 2>&1
if [ $? -ne 0 ]; then
bbfatal_log"Could not configure ${KMACHINE}- ${LINUX_KERNEL_TYPE}"
fimeta/classes/kernel-yocto.bbclass +1
-1- +echo "# Global settings from linux recipe" >> ${B}/.config echo "
CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config
}meta/classes/kernel-yocto.bbclass +0
-0@@ -295,36 +271,23 @@ python do_kernel_configcheck() {kmeta = "." + kmeta
pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/")
- cmd =d.expand("cd ${S}; kconf_check -config %s/meta-series ${S} ${B}" % kmeta)meta/classes/kernel-yocto.bbclass +5
-0+ + cmd = d.expand("scc --configs -o ${S}/.kernel-meta") + ret, configs = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd)) + + cmd = d.expand("cd ${S}; kconf_check --report -o ${S}/%s/cfg/${B}/.config ${S} %s" % (kmeta,configs))
ret, result =oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd))
config_check_visibility =int(d.getVar( "KCONF_AUDIT_LEVEL", True ) or 0)
bsp_check_visibility =int(d.getVar( "KCONF_BSP_AUDIT_LEVEL", True ) or 0)# if config check visibility is non-zero, report dropped configuration values - mismatch_file = "${S}/" + kmeta + "/" + "mismatch.cfg" + mismatch_file = d.expand("${S}/%s/cfg/mismatch.txt" % kmeta) if os.path.exists(mismatch_file): if config_check_visibility: with open (mismatch_file, "r") as myfile: results = myfile.read() bb.warn( "[kernel config]: specified values did not make it into the kernel's final configuration:\n\n%s" % results) - - # if config check visibility is level 2 or higher, report non- hardware options - nonhw_file = "${S}/" + kmeta + "/" + "nonhw_report.cfg" - if os.path.exists(nonhw_file): - if config_check_visibility > 1: - with open (nonhw_file, "r") as myfile: - results = myfile.read() - bb.warn( "[kernel config]: BSP specified non-hw configuration:\n\n%s" % results) - - bsp_desc = "${S}/" + kmeta + "/" + "top_tgt" - if os.path.exists(bsp_desc) and bsp_check_visibility > 1: - with open (bsp_desc, "r") as myfile: - bsp_tgt = myfile.read() - m = re.match("^(.*)scratch.obj(.*)$", bsp_tgt) - if not m is None: - bb.warn( "[kernel]: An auto generated BSP description was used, this normally indicates a misconfiguration.\n" + - "Check that your machine (%s) has an associated kernel description." % "${MACHINE}" ) } # Ensure that the branches (BSP and meta) are on the locations specified bymeta/recipes-kernel/kern-tools/kern-tools-native_git.bb +0
-0@@ -1,10 +1,10 @@SUMMARY = "Tools for managing Yocto Project style branched kernels" LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=d8d1d729a70cd5f52972f8884 b80743d"
+LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1bda400e2828845 ba0d06c"
DEPENDS = "git-native"meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1
-1-SRCREV = "a6a6f6e1e738d2ecd26b675e9bec867105703416" +SRCREV = "4b5de9011b31ff92ba2b6e052ab818b09affd905"PR = "r12"
PV = "0.2+git${SRCPV}"
--
2.5.0
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 10 lines · André Draszik
My kmeta stuff is located directly inside two meta-* layers (i.e. not in an extra git repo), where the 2nd layer's kernel recipes .bbappends to the 1st one with additional kmeta things.
This used to work fine, but since this commit it doesn't anymore as only the kmeta stuff from the 2nd layer is being copied into workdir.
Have I been doing something that wasn't guaranteed / supposed to work in the first place? Or should that still work? Is it worth fixing or should I rethink my approach?
That was complexity that I had tried to remove, but thinking on it a bit, I think I can restore that without adding much complexity.
I'm just finishing work on the 4.8 kernel today, and can look at this tomorrow.
Do you have any public layers that I can reference to pull together a test case ?
Bruce
Quoted 322 lines
Cheers,
Andre'Quoted 315 lines · Bruce Ashfield
We've been running with a set of kern-tools that were designed to work with build systems that knew nothing about git, trees, commits, etc.
As such, there's been a set of shims/wrappers in place to work with within bitbake/oe-core. These were the *me scripts: createme, updateme, patchme and configme.
With this commit, we strip that legacy code and use the tools directly. This means less complexity, fewer corner cases .. and no surprises when the tools are arunning. As another benefit, the tools consume much less time during a typical build and have no noticeable impact on the overall build time.
Existing .scc files, features, and processing are not impacted as these tools are compatible with existing feature descriptions and kerne configuration fragments.
The audit of kernel configuration fragments is now detached from the linux-yocto build structure and process. This means that they can eventually be tweaked to offer kernel audit to any type of kernel build and configuration process.
Additionally, the kernel symbol audit phase can now resolve symbol dependencies and offer guidance when a symbol is missing:
WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_f5e2c49d58-r0
do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:---------- CONFIG_BT_6LOWPAN ----------------- Config: CONFIG_BT_6LOWPAN From: /home/bruce/poky/build/tmp/work-shared/qemux86-64/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg
Requested value:CONFIG_BT_6LOWPAN=y
Actual value:Config '
BT_6LOWPAN' has the following conditionals:BT_LE && 6LOWPAN (value: "n") Dependency values are: BT_LE [y] 6LOWPAN [n]Signed-off-by Bruce Ashfield <[email protected]>--- meta/classes/kernel-yocto.bbclass | 143 ++++++++------ ------- .../kern-tools/kern-tools-native_git.bb | 4 +- 2 files changed, 55 insertions(+), 92 deletions(-)meta/classes/kernel- renamed from meta/classes/kernel-yocto.bbclass +0
-0yocto.bbclass
index a9d4205..8650e55 100644meta/classes/kernel-yocto.bbclass +0
-1@@ -119,77 +119,42 @@ do_kernel_metadata() { patches="${@" ".join(find_patches(d))}" feat_dirs="${@" ".join(find_kernel_feature_dirs(d))}" - # add any explicitly referenced features onto the end of thefeature
meta/classes/kernel-yocto.bbclass +0
-7- # list that is passed to the kernel build scripts. - if [ -n "${KERNEL_FEATURES}" ]; then - for feat in ${KERNEL_FEATURES}; do - addon_features="$addon_features --feature $feat" - done - fi - # check for feature directories/repos/branches that were part ofthe
#SRC_URI. If they were supplied, we convert them into include
directivesmeta/classes/kernel-yocto.bbclass +8
-10# for the update part of the process - if [ -n "${feat_dirs}" ]; then - for f in ${feat_dirs}; do + for f in ${feat_dirs}; do if [ -d "${WORKDIR}/$f/meta" ]; then - includes="$includes -I${WORKDIR}/$f/meta" + includes="$includes -I${WORKDIR}/$f/meta" elif [ -d "${WORKDIR}/$f" ]; then - includes="$includes -I${WORKDIR}/$f" + includes="$includes -I${WORKDIR}/$f" fi - done - fi + done + for s in ${sccs}; do + sdir=$(dirname $s) + includes="$includes -I${sdir}" + done - # updates or generates the target description - updateme ${updateme_flags} -DKDESC=${KMACHINE}:${LINUX_KERNEL_TYPE} \ - ${includes} ${addon_features} ${ARCH}${KMACHINE} ${sccs} ${patches}
meta/classes/kernel-yocto.bbclass +5
-4- if [ $? -ne 0 ]; then - bbfatal_log "Could not update ${machine_branch}" - fi + # expand kernel features into their full path equivalents + bsp_definition=$(spp ${includes} --find -DKMACHINE=${KMACHINE} -DKTYPE=${LINUX_KERNEL_TYPE}) + meta_dir=$(kgit --meta) + + # run1: pull all the configuration fragments, no matter wherethey come from
meta/classes/kernel-yocto.bbclass +1
-0+ scc --force -o ${S}/${meta_dir}:cfg,meta ${includes}${bsp_definition} ${sccs} ${patches} ${KERNEL_FEATURES}
meta/classes/kernel-yocto.bbclass +2
-0+ + # run2: only generate patches for elements that have been passedon the
SRC_URImeta/classes/kernel-yocto.bbclass +1
-0+ scc --force -o ${S}/${meta_dir}:patch --cmds patch ${includes}${sccs} ${patches} ${KERNEL_FEATURES}
}
do_patch(){meta/classes/kernel-yocto.bbclass +0
-5cd ${S} - # executes and modifies the source tree as required - patchme ${KMACHINE} - if [ $? -ne 0 ]; then - bberror "Could not apply patches for ${KMACHINE}." - bbfatal_log "Patch failures can be resolved in the linuxsource directory ${S})"
meta/classes/kernel-yocto.bbclass +0
-3- fi - - # check to see if the specified SRCREV is reachable from thefinal branch.
meta/classes/kernel-yocto.bbclass +0
-4- # if it wasn't something wrong has happened, and we should error. - machine_srcrev="${SRCREV_machine}" - if [ -z "${machine_srcrev}" ]; then - # fallback to SRCREV if a non machine_meta tree is beingbuilt
meta/classes/kernel-yocto.bbclass +0
-4- machine_srcrev="${SRCREV}" - # if SRCREV cannot be reached something is wrong. - if [ -z "${machine_srcrev}" ]; then - bbfatal "Neither SRCREV_machine or SRCREV wasspecified!"
meta/classes/kernel-yocto.bbclass +0
-8- fi - fi - - if [ -n "${KMETA_AUDIT}" ]; then - current_branch=`git rev-parse --abbrev-ref HEAD` - machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}" - if [ "${current_branch}" != "${machine_branch}" ]; then - bbwarn "After meta data application, the kernel treebranch is ${current_branch}."
meta/classes/kernel-yocto.bbclass +0
-3- bbwarn "The SRC_URI specified branch ${machine_branch}." - bbwarn "" - bbwarn "The branch will be forced to ${machine_branch},but this means the board meta data"
- bbwarn "(.scc files) do not match theSRC_URI
specification."meta/classes/kernel-yocto.bbclass +0
-2- bbwarn "" - bbwarn "The meta data and branch ${machine_branch} shouldbe inspected to ensure the proper"
meta/classes/kernel-yocto.bbclass +0
-7- bbwarn "kernel is being built." - git checkout -f ${machine_branch} - fi - fi - - if [ "${machine_srcrev}" != "AUTOINC" ]; then - if ! [ "$(git rev-parse --verify ${machine_srcrev}~0)" ="$(git merge-base ${machine_srcrev} HEAD)" ]; then
meta/classes/kernel-yocto.bbclass +0
-1- bberror "SRCREV ${machine_srcrev} was specified,but is not reachable"
meta/classes/kernel-yocto.bbclass +0
-1- bbfatal "Check the BSP description for incorrectbranch selection, or other errors."
meta/classes/kernel-yocto.bbclass +6
-0+ meta_dir=$(kgit --meta) + (cd ${meta_dir}; ln -sf patch.queue series) + if [ -f "${meta_dir}/series" ]; then + kgit-s2q --gen -v --patches .kernel-meta/ + if [ $? -ne 0 ]; then + bberror "Could not apply patches for${KMACHINE}."
meta/classes/kernel-yocto.bbclass +1
-0+ bbfatal_log "Patch failures can be resolved inthe linux source directory ${S})"
meta/classes/kernel-yocto.bbclass +0
-0fi fi }@@ -258,26 +223,37 @@ do_kernel_metadata[depends] = "kern-tools-native:do_populate_sysroot"
do_kernel_configme[dirs] += "${S} ${B}"
do_kernel_configme(){meta/classes/kernel-yocto.bbclass +1
-6- bbnote "kernel configme" - export KMETA=${KMETA} + set +e - if [ -n "${KCONFIG_MODE}" ]; then - configmeflags=${KCONFIG_MODE} - else - # If a defconfig was passed, use =n as the baseline,which is achieved
meta/classes/kernel-yocto.bbclass +13
-5- # via --allnoconfig + # translate the kconfig_mode into something that merge_config.sh + # understands + case ${KCONFIG_MODE} in + allnoconfig) + config_flags="-n" + ;; + alldefconfig) + config_flags="" + ;; + *) if [ -f ${WORKDIR}/defconfig ]; then - configmeflags="--allnoconfig" + config_flags="-n" fi - fi + ;; + esac cd ${S} - PATH=${PATH}:${S}/scripts/util - configme ${configmeflags} --reconfig --output ${B}${LINUX_KERNEL_TYPE} ${KMACHINE}
meta/classes/kernel-yocto.bbclass +5
-0+ + meta_dir=$(kgit --meta) + configs="$(scc --configs -o ${meta_dir})" + if [ -z "${configs}" ]; then + bbfatal_log "Could not find configuration queue(${meta_dir}/config.queue)"
meta/classes/kernel-yocto.bbclass +3
-0+ fi + + ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} >${meta_dir}/cfg/merge_config_build.log 2>&1
meta/classes/kernel-yocto.bbclass +0
-0if [ $? -ne 0 ]; then bbfatal_log "Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}"
meta/classes/kernel-yocto.bbclass +1
-1fi - + echo "# Global settings from linux recipe" >> ${B}/.config echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >>${B}/.config
}meta/classes/kernel-yocto.bbclass +5
-1@@ -295,36 +271,23 @@ python do_kernel_configcheck() { kmeta = "." + kmeta pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/") - cmd = d.expand("cd ${S}; kconf_check -config %s/meta-series ${S} ${B}" % kmeta) + + cmd = d.expand("scc --configs -o ${S}/.kernel-meta") + ret, configs = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd)) + + cmd = d.expand("cd ${S}; kconf_check --report -o ${S}/%s/cfg/ ${B}/.config ${S} %s" % (kmeta,configs)) ret, result = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd)) config_check_visibility = int(d.getVar( "KCONF_AUDIT_LEVEL", True ) or 0) bsp_check_visibility = int(d.getVar( "KCONF_BSP_AUDIT_LEVEL", True ) or 0) # if config check visibility is non-zero, report droppedconfiguration values
meta/classes/kernel-yocto.bbclass +1
-1- mismatch_file = "${S}/" + kmeta + "/" + "mismatch.cfg" + mismatch_file = d.expand("${S}/%s/cfg/mismatch.txt" % kmeta) if os.path.exists(mismatch_file): if config_check_visibility: with open (mismatch_file, "r") as myfile: results = myfile.read() bb.warn( "[kernel config]: specified values did not makeit into the kernel's final configuration:\n\n%s" % results)
meta/classes/kernel-yocto.bbclass +0
-2- - # if config check visibility is level 2 or higher, report non-hardware options
meta/classes/kernel-yocto.bbclass +0
-6- nonhw_file = "${S}/" + kmeta + "/" + "nonhw_report.cfg" - if os.path.exists(nonhw_file): - if config_check_visibility > 1: - with open (nonhw_file, "r") as myfile: - results = myfile.read() - bb.warn( "[kernel config]: BSP specified non-hwconfiguration:\n\n%s" % results)
meta/classes/kernel-yocto.bbclass +0
-8- - bsp_desc = "${S}/" + kmeta + "/" + "top_tgt" - if os.path.exists(bsp_desc) and bsp_check_visibility > 1: - with open (bsp_desc, "r") as myfile: - bsp_tgt = myfile.read() - m = re.match("^(.*)scratch.obj(.*)$", bsp_tgt) - if not m is None: - bb.warn( "[kernel]: An auto generated BSP description wasused, this normally indicates a misconfiguration.\n" +
- "Check that your machine (%s) has an associated
kernel description." % "${MACHINE}" )
}# Ensure that the branches (BSP and meta) are on the locations specified
bymeta/recipes-kernel/kern-tools/kern-tools-native_git.bb +0
-1@@ -1,10 +1,10 @@ SUMMARY = "Tools for managing Yocto Project style branched kernels" LICENSE = "GPLv2" -LIC_FILES_CHKSUM ="file://git/tools/kgit;beginline=5;endline=9;md5=d8d1d729a70cd5f52972f8884 b80743d"
+LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1bda400e2828845 ba0d06c"DEPENDS = "git-native"
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +1
-2-SRCREV = "a6a6f6e1e738d2ecd26b675e9bec867105703416" +SRCREV = "4b5de9011b31ff92ba2b6e052ab818b09affd905" PR = "r12" PV = "0.2+git${SRCPV}" --2.5.0
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 17 lines · Bruce Ashfield
Quoted 7 lines · André Draszik
My kmeta stuff is located directly inside two meta-* layers (i.e. not in an
extra git repo), where the 2nd layer's kernel recipes .bbappends to the 1st
one with additional kmeta things.Quoted 8 lines
This used to work fine, but since this commit it doesn't anymore as only the
kmeta stuff from the 2nd layer is being copied into workdir.Have I been doing something that wasn't guaranteed / supposed to work in the
first place? Or should that still work? Is it worth fixing or should I rethink my approach?
Quoted 5 lines
That was complexity that I had tried to remove, but thinking on it a bit, I think I can restore that without adding much complexity.
I'm just finishing work on the 4.8 kernel today, and can look at this tomorrow.
Thank you Bruce!
Quoted 2 lines
Do you have any public layers that I can reference to pull together a test case ?
Unfortunately not :-(
But I'm happy to test and report back!
Cheers,
Andre'
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 18 lines · André Draszik
Quoted 17 lines · Bruce Ashfield
Quoted 15 lines · André Draszik
My kmeta stuff is located directly inside two meta-* layers (i.e. not in an
extra git repo), where the 2nd layer's kernel recipes .bbappends to the 1st
one with additional kmeta things.This used to work fine, but since this commit it doesn't anymore as only the
kmeta stuff from the 2nd layer is being copied into workdir.Have I been doing something that wasn't guaranteed / supposed to work in the
first place? Or should that still work? Is it worth fixing or should I rethink my approach?
Quoted 7 lines
Quoted 5 lines
That was complexity that I had tried to remove, but thinking on it a bit, I think I can restore that without adding much complexity.
I'm just finishing work on the 4.8 kernel today, and can look at this tomorrow.
Thank you Bruce!
Can you clarify for me if you are are using SRC_URI items tagged with 'kmeta', i.e. a directory of fragments, or are you just adding .cfg/.scc items directly to the SRC_URI ?
Bruce
Quoted 12 lines
Quoted 3 lines
Do you have any public layers that I can reference to pull together a test case ?
Unfortunately not :-(
But I'm happy to test and report back!
Cheers,
Andre'
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 3 lines · Bruce Ashfield
Can you clarify for me if you are are using
SRC_URIitems tagged with 'kmeta', i.e. a directory of fragments, or are you just adding .cfg/.scc items directly to theSRC_URI?
I do both:
in the 1st layer, my kernel recipe boils down to:
SRC_URI = "\
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;nocheckout=1;branch=${KBRANCH} \
file://0001-a-patch.patch \
file://kernel-meta;type=kmeta;destsuffix=${KMETA} \"
KERNEL_FEATURES_append = " patches/some-patches.scc" KERNEL_FEATURES_append = " patches/more-patches.scc" KERNEL_FEATURES_append = " patches/even-more-patches.scc"
some of the above in turn include additional .scc items recursively.
In the 2nd layer, my .bbappend boils down to:
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-4.4:"
KERNEL_FEATURES_append_tgm = " patches/tgm.scc"
2nd-layer.scc is located in ${THISDIR}/kernel-meta/patches/ in the 2nd layer. I don't specifically add another SRC_URI item tagged with 'kmeta' (or any other explicit SRC_URI item for that matter).
Andre'
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 24 lines · André Draszik
Quoted 3 lines · Bruce Ashfield
Can you clarify for me if you are are using
SRC_URIitems tagged with 'kmeta', i.e. a directory of fragments, or are you just adding .cfg/.scc items directly to theSRC_URI?I do both:
in the 1st layer, my kernel recipe boils down to:
SRC_URI = "\ git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;nocheckout=1;branch=${KBRANCH} \ file://0001-a-patch.patch \ file://kernel-meta;type=kmeta;destsuffix=${KMETA} \"
KERNEL_FEATURES_append= " patches/some-patches.scc"KERNEL_FEATURES_append= " patches/more-patches.scc"KERNEL_FEATURES_append= " patches/even-more-patches.scc"some of the above in turn include additional .scc items recursively.
In the 2nd layer, my .bbappend boils down to:
Quoted 7 lines
FILESEXTRAPATHS_prepend:= "${THISDIR}/${BPN}-4.4:"
KERNEL_FEATURES_append_tgm= " patches/tgm.scc"2nd-layer.scc is located in ${THISDIR}/kernel-meta/patches/ in the 2nd layer. I don't specifically add another
SRC_URIitem tagged with 'kmeta' (or any other explicitSRC_URIitem for that matter).
One more clarification. From our problem description, are you saying that in your runs, only the meta data from layer2 is getting copied and not that from layer1 ?
I ran my sanity test, and saw meta data from both my layers copied .. so I'm worried that I misunderstood the issue you are seeing.
But looking at the code, I can definitely do some minor tweaks in this area .. I'm just trying to get the reproducer nailed down.
Bruce
Quoted 4 lines
Andre'
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 33 lines · Bruce Ashfield
Quoted 32 lines · André Draszik
Quoted 5 lines · Bruce Ashfield
Can you clarify for me if you are are using
SRC_URIitems tagged with 'kmeta', i.e. a directory of fragments, or are you just adding .cfg/.scc
items directly to theSRC_URI?I do both:
in the 1st layer, my kernel recipe boils down to:
SRC_URI= "\
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-
stable.git;protocol=git;nocheckout=1;branch=${KBRANCH} \
file://0001-a-patch.patch \
file://kernel-meta;type=kmeta;destsuffix=${KMETA} \
"
KERNEL_FEATURES_append= " patches/some-patches.scc"KERNEL_FEATURES_append= " patches/more-patches.scc"KERNEL_FEATURES_append= " patches/even-more-patches.scc"some of the above in turn include additional .scc items recursively.
In the 2nd layer, my .bbappend boils down to:
FILESEXTRAPATHS_prepend:= "${THISDIR}/${BPN}-4.4:"
KERNEL_FEATURES_append_tgm= " patches/tgm.scc"
Quoted 8 lines
Quoted 4 lines
2nd-layer.scc is located in ${THISDIR}/kernel-meta/patches/ in the 2nd layer. I don't specifically add another
SRC_URIitem tagged with 'kmeta' (or
any other explicitSRC_URIitem for that matter).One more clarification. From our problem description, are you saying that in your runs, only the meta data from layer2 is getting copied and not that from layer1 ?
That is what I had inferred from the error message:
| DEBUG: Executing shell function do_kernel_metadata | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files: <2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc | See /tmp/tmp.mPP1jtatxm for details | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files: <2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc | See /tmp/tmp.v9LU9ccpbl for details | WARNING: exit code 1 from a shell command.
Quoted 2 lines
I ran my sanity test, and saw meta data from both my layers copied .. so I'm worried that I misunderstood the issue you are seeing.
I can see that they are actually copied indeed, but it doesn't find them... The file /tmp/tmp.v9LU9ccpbl mentioned above is empty.
Quoted 2 lines
But looking at the code, I can definitely do some minor tweaks in this area .. I'm just trying to get the reproducer nailed down.
I can try to create one for you if you prefer tomorrow, rather than wasting your time with this, if you don't get any further?
Andre'
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 55 lines · André Draszik
Quoted 33 lines · Bruce Ashfield
Quoted 32 lines · André Draszik
Quoted 5 lines · Bruce Ashfield
Can you clarify for me if you are are using
SRC_URIitems tagged with 'kmeta', i.e. a directory of fragments, or are you just adding .cfg/.scc
items directly to theSRC_URI?I do both:
in the 1st layer, my kernel recipe boils down to:
SRC_URI= "\
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;nocheckout=1;branch=${KBRANCH} \ file://0001-a-patch.patch \ file://kernel-meta;type=kmeta;destsuffix=${KMETA} \"
KERNEL_FEATURES_append= " patches/some-patches.scc"KERNEL_FEATURES_append= " patches/more-patches.scc"KERNEL_FEATURES_append= " patches/even-more-patches.scc"some of the above in turn include additional .scc items recursively.
In the 2nd layer, my .bbappend boils down to:
FILESEXTRAPATHS_prepend:= "${THISDIR}/${BPN}-4.4:"
KERNEL_FEATURES_append_tgm= " patches/tgm.scc"Quoted 8 lines
Quoted 4 lines
2nd-layer.scc is located in ${THISDIR}/kernel-meta/patches/ in the 2nd layer. I don't specifically add another
SRC_URIitem tagged with 'kmeta' (or
any other explicitSRC_URIitem for that matter).One more clarification. From our problem description, are you saying that in your runs, only the meta data from layer2 is getting copied and not that from layer1 ?
That is what I had inferred from the error message:
| DEBUG: Executing shell function do_kernel_metadata | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files: <2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc | See /tmp/tmp.mPP1jtatxm for details | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files: <2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc | See /tmp/tmp.v9LU9ccpbl for details | WARNING: exit code 1 from a shell command.
Quoted 5 lines
Quoted 2 lines
I ran my sanity test, and saw meta data from both my layers copied .. so I'm worried that I misunderstood the issue you are seeing.
I can see that they are actually copied indeed, but it doesn't find them... The file
/tmp/tmp.v9LU9ccpblmentioned above is empty.
Yah, that's a temporary file used in the processing. I'm going to clean up the logging a bit as I work through this.
I think I can fix things with some path manipulations, but am still working on it.
Quoted 6 lines
Quoted 3 lines
But looking at the code, I can definitely do some minor tweaks in this area .. I'm just trying to get the reproducer nailed down.
I can try to create one for you if you prefer tomorrow, rather than wasting your time with this, if you don't get any further?
I'm going to be trying this later tonight (Thursday, Eastern Time), but even if you can throw a mock up out, it will help me debug more.
Bruce
Quoted 4 lines
Andre'
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
In reply to André DraszikQuoted 58 lines · André Draszik
Quoted 33 lines · Bruce Ashfield
Quoted 32 lines · André Draszik
Quoted 5 lines · Bruce Ashfield
Can you clarify for me if you are are using
SRC_URIitems tagged with 'kmeta', i.e. a directory of fragments, or are you just adding .cfg/.scc
items directly to theSRC_URI?I do both:
in the 1st layer, my kernel recipe boils down to:
SRC_URI= "\
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;nocheckout=1;branch=${KBRANCH} \ file://0001-a-patch.patch \ file://kernel-meta;type=kmeta;destsuffix=${KMETA} \"
KERNEL_FEATURES_append= " patches/some-patches.scc"KERNEL_FEATURES_append= " patches/more-patches.scc"KERNEL_FEATURES_append= " patches/even-more-patches.scc"some of the above in turn include additional .scc items recursively.
In the 2nd layer, my .bbappend boils down to:
FILESEXTRAPATHS_prepend:= "${THISDIR}/${BPN}-4.4:"
KERNEL_FEATURES_append_tgm= " patches/tgm.scc"Quoted 8 lines
Quoted 4 lines
2nd-layer.scc is located in ${THISDIR}/kernel-meta/patches/ in the 2nd layer. I don't specifically add another
SRC_URIitem tagged with 'kmeta' (or
any other explicitSRC_URIitem for that matter).One more clarification. From our problem description, are you saying that in your runs, only the meta data from layer2 is getting copied and not that from layer1 ?
That is what I had inferred from the error message:
| DEBUG: Executing shell function do_kernel_metadata | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files: <2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc | See /tmp/tmp.mPP1jtatxm for details | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files: <2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc | See /tmp/tmp.v9LU9ccpbl for details | WARNING: exit code 1 from a shell command.Quoted 2 lines
I ran my sanity test, and saw meta data from both my layers copied .. so I'm worried that I misunderstood the issue you are seeing.
Quoted 8 lines
I can see that they are actually copied indeed, but it doesn't find them... The file
/tmp/tmp.v9LU9ccpblmentioned above is empty.Quoted 2 lines
But looking at the code, I can definitely do some minor tweaks in this area .. I'm just trying to get the reproducer nailed down.
I can try to create one for you if you prefer tomorrow, rather than wasting your time with this, if you don't get any further?
I was able to trigger a similar trap to the above. And yes, it was sort of working by luck before.
I need to stare at this for a few hours and figure out the right way to restore similar behaviour. But now .. sleep.
Cheers,
Bruce
Quoted 4 lines
Andre'
Re: [PATCH 5/6] kernel-yocto: streamline patch, configuration and audit phases
Quoted 75 lines · Bruce Ashfield
Quoted 74 lines · André Draszik
Quoted 39 lines · Bruce Ashfield
Quoted 30 lines · André Draszik
Quoted 5 lines · Bruce Ashfield
Can you clarify for me if you are are using
SRC_URIitems tagged with 'kmeta', i.e. a directory of fragments, or are you just adding .cfg/.scc
items directly to theSRC_URI?I do both:
in the 1st layer, my kernel recipe boils down to:
SRC_URI= "\
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;nocheckout=1;branch=${KBRANCH} \ file://0001-a-patch.patch \ file://kernel-meta;type=kmeta;destsuffix=${KMETA} \"
KERNEL_FEATURES_append= " patches/some-patches.scc"KERNEL_FEATURES_append= " patches/more-patches.scc"KERNEL_FEATURES_append= " patches/even-more-patches.scc"some of the above in turn include additional .scc items recursively.
In the 2nd layer, my .bbappend boils down to:
FILESEXTRAPATHS_prepend:= "${THISDIR}/${BPN}-4.4:"Quoted 7 lines
KERNEL_FEATURES_append_tgm= " patches/tgm.scc"2nd-layer.scc is located in ${THISDIR}/kernel-meta/patches/ in the 2nd layer. I don't specifically add another
SRC_URIitem tagged with 'kmeta'
(or
any other explicitSRC_URIitem for that matter).Quoted 3 lines
One more clarification. From our problem description, are you saying that in your runs, only the meta data from layer2 is getting copied and not that from layer1 ?
That is what I had inferred from the error message:
| DEBUG: Executing shell function do_kernel_metadata | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files:<2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc
| See /tmp/tmp.mPP1jtatxm for details | ERROR. input file "patches/some-patches.scc" does not exist | ERROR: could not process input files:<2nd_layer>/recipes-kernel/linux/linux-ramips-4.4/tgm/defconfig <1st_layer>/recipes-kernel/linux/linux-ramips-4.4/0001-a-patch.patch patches/some-patches.scc patches/more-patches.scc patches/even-more-patches.scc patches/tgm.scc
| See/tmp/tmp.v9LU9ccpblfor details
| WARNING: exit code 1 from a shell command.Quoted 2 lines
I ran my sanity test, and saw meta data from both my layers copied .. so I'm worried that I misunderstood the issue you are seeing.
I can see that they are actually copied indeed, but it doesn't find them...
The file/tmp/tmp.v9LU9ccpblmentioned above is empty.Quoted 2 lines
But looking at the code, I can definitely do some minor tweaks in this area .. I'm just trying to get the reproducer nailed down.
Quoted 6 lines
Quoted 3 lines
I can try to create one for you if you prefer tomorrow, rather than wasting
your time with this, if you don't get any further?I was able to trigger a similar trap to the above. And yes, it was sort of working by luck before.
I spoke too soon. The error that I was able to trigger was valid, and in fact, when I tried the same test on krogoth it also failed there as well.
So there is something I still don't have right in the two layers to trigger the same scenario you are seeing.
If you could do that mock up, it would help immensely.
Also, if you are open to changing the layer structure a bit, I could always suggest a new way to organize things.
Cheers,
Bruce
Quoted 13 lines
I need to stare at this for a few hours and figure out the right way to restore similar behaviour. But now .. sleep.
Cheers,
Bruce
Quoted 4 lines
Andre'
PATCH 6/6 yocto-bsp/yocto-kernel: update to work with the latest kern-tools
In reply to Bruce AshfieldWith some recent changes in the kern tools, we can drop some changes in the yocto-bsp and yocto-kernel tools that ensured proper patching and BSP inheritance.
In particular, we no longer need to signify the start of patching, and we must instruct the tools that we only want configuration fragments via inheritance .. no patches (since they are already applied).
--- scripts/lib/bsp/kernel.py | 1 - .../arch/arm/recipes-kernel/linux/files/machine-standard.scc | 2 +- .../arch/i386/recipes-kernel/linux/files/machine-standard.scc | 2 +- .../arch/mips/recipes-kernel/linux/files/machine-standard.scc | 2 +- .../mips64/recipes-kernel/linux/files/machine-standard.scc | 2 +- .../powerpc/recipes-kernel/linux/files/machine-standard.scc | 2 +- .../arch/qemu/recipes-kernel/linux/files/machine-standard.scc | 10 +++++----- .../x86_64/recipes-kernel/linux/files/machine-standard.scc | 2 +- 8 files changed, 11 insertions(+), 12 deletions(-)
scripts/lib/bsp/kernel.py +0 -1
@@ -331,7 +331,6 @@ def write_patch_items(scripts_path, machine, patch_items): patch list [${machine}-user-patches.scc]. """ f = open_user_file(scripts_path, machine, machine+"-user-patches.scc", "w") - f.write("mark patching start\n") for item in patch_items: f.write("patch " + item + "\n") f.close()
scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/machine-standard.scc +1 -1
@@ -3,7 +3,7 @@ define KMACHINE {{=machine}} define KARCH arm -include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} +include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} nopatch {{ if need_new_kbranch == "y": }} define KTYPE {{=new_kbranch}} branch {{=machine}}
scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/files/machine-standard.scc +1 -1
@@ -3,7 +3,7 @@ define KMACHINE {{=machine}} define KARCH i386 -include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} +include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} nopatch {{ if need_new_kbranch == "y": }} define KTYPE {{=new_kbranch}} branch {{=machine}}
scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/files/machine-standard.scc +1 -1
@@ -3,7 +3,7 @@ define KMACHINE {{=machine}} define KARCH mips -include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} +include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} nopatch {{ if need_new_kbranch == "y": }} define KTYPE {{=new_kbranch}} branch {{=machine}}
scripts/lib/bsp/substrate/target/arch/mips64/recipes-kernel/linux/files/machine-standard.scc +1 -1
@@ -3,7 +3,7 @@ define KMACHINE {{=machine}} define KARCH mips -include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} +include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} nopatch {{ if need_new_kbranch == "y": }} define KTYPE {{=new_kbranch}} branch {{=machine}}
scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/files/machine-standard.scc +1 -1
@@ -3,7 +3,7 @@ define KMACHINE {{=machine}} define KARCH powerpc -include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} +include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} nopatch {{ if need_new_kbranch == "y": }} define KTYPE {{=new_kbranch}} branch {{=machine}}
scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/files/machine-standard.scc +5 -5
@@ -4,15 +4,15 @@ define KMACHINE {{=machine}} define KARCH {{=qemuarch}} {{ if qemuarch == "i386" or qemuarch == "x86_64": }} -include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} +include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} nopatch {{ if qemuarch == "arm": }} -include bsp/arm-versatile-926ejs/arm-versatile-926ejs-standard +include bsp/arm-versatile-926ejs/arm-versatile-926ejs-standard nopatch {{ if qemuarch == "powerpc": }} -include bsp/qemu-ppc32/qemu-ppc32-standard +include bsp/qemu-ppc32/qemu-ppc32-standard nopatch {{ if qemuarch == "mips": }} -include bsp/mti-malta32/mti-malta32-be-standard +include bsp/mti-malta32/mti-malta32-be-standard nopatch {{ if qemuarch == "mips64": }} -include bsp/mti-malta64/mti-malta64-be-standard +include bsp/mti-malta64/mti-malta64-be-standard nopatch {{ if need_new_kbranch == "y": }} define KTYPE {{=new_kbranch}} branch {{=machine}}
scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/files/machine-standard.scc +1 -1
@@ -3,7 +3,7 @@ define KMACHINE {{=machine}} define KARCH x86_64 -include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} +include {{=map_standard_kbranch(need_new_kbranch, new_kbranch, existing_kbranch)}} nopatch {{ if need_new_kbranch == "y": }} define KTYPE {{=new_kbranch}} branch {{=machine}}
Signature · 1 line
2.5.0
Quoted 7 lines · Bruce Ashfield
Are the important part of this series, and a significant contribution to the
fall release. I've been testing these for some time, and we've run the kernel lab and yocto-bsp scripts against the tools. We haven't found a regression yet, but I'm sure there are some lurking. These definitely need cycles on the autobuilders.
qemux86 throws these warnings at me:
WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_ddab242999-r0do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:
---------- CONFIG_BT_6LOWPAN -----------------
Config: CONFIG_BT_6LOWPAN
From:
/data/poky-master/tmp-glibc/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value: CONFIG_BT_6LOWPAN=y
Actual value:
Config 'BT_6LOWPAN' has the following conditionals:
BT_LE && 6LOWPAN (value: "n")
Dependency values are:
BT_LE [y] 6LOWPAN [n]
---------- CONFIG_BT_CMTP -----------------
Config: CONFIG_BT_CMTP
From:
/data/poky-master/tmp-glibc/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value: CONFIG_BT_CMTP=m
Actual value:
Config 'BT_CMTP' has the following conditionals:
BT_BREDR && ISDN_CAPI (value: "n")
Dependency values are:
BT_BREDR [y] ISDN_CAPI [n]
Ross
Quoted 13 lines · Ross
On 15 August 2016 at 19:26, Bruce Ashfield <[email protected] <mailto:[email protected]>> wrote:
Are the important part of this series, and a significant contribution to the
fall release. I've been testing these for some time, and we've run the kernel lab and yocto-bsp scripts against the tools. We haven't found a regression yet, but I'm sure there are some lurking. These definitely need
cycles on the autobuilders.
Quoted 1 line
qemux86 throws these warnings at me:
Yep, that was covered in my 0/N:
"Note: there are still warnings in the kernel meta-data, they are being worked on, but I've left them in place so a few people can see the new kernel audit information :)"
Cheers,
Bruce
Quoted 30 lines
WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_ddab242999-r0
do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:----------
CONFIG_BT_6LOWPAN-----------------
Config:CONFIG_BT_6LOWPAN
From:
/data/poky-master/tmp-glibc/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value:CONFIG_BT_6LOWPAN=y
Actual value:Config '
BT_6LOWPAN' has the following conditionals:
BT_LE&& 6LOWPAN (value: "n")
Dependency values are:
BT_LE[y] 6LOWPAN [n]----------
CONFIG_BT_CMTP-----------------
Config:CONFIG_BT_CMTP
From:
/data/poky-master/tmp-glibc/work-shared/qemux86/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg Requested value:CONFIG_BT_CMTP=m
Actual value:Config '
BT_CMTP' has the following conditionals:
BT_BREDR&&ISDN_CAPI(value: "n")
Dependency values are:
BT_BREDR[y]ISDN_CAPI[n]Ross
Quoted 2 lines · Bruce Ashfield
Yep, that was covered in my 0/N:
<cough>
I'll get my coat.
Ross
Quoted 10 lines · Ross
On 16 August 2016 at 17:01, Bruce Ashfield <[email protected] <mailto:[email protected]>> wrote:
Yep, that was covered in my 0/N:
<cough>
I'll get my coat.
... and hopefully hit me with it for hiding that note way down in a TL;DR 0/N message.
Bruce
Quoted 2 lines
Ross
Quoted 3 lines · Bruce Ashfield
... and hopefully hit me with it for hiding that note way down in a TL;DR 0/N message.
Oh it was definitely sensible, you covered everything in the cover letter that I only skimmed last week and promptly forgot...
Ross