diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2012-09-13 08:59:08 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-09-14 09:49:55 +0100 |
commit | 4d1b7dae063ee4c35c426306d0e22f11ce112c72 (patch) | |
tree | 3d78f373ca685c04768c20d4a046be20c7a75cfe /meta/classes/kernel-yocto.bbclass | |
parent | 056eddc4299d10ddafe0da3dc768bd80d0c1b96b (diff) | |
download | openembedded-core-4d1b7dae063ee4c35c426306d0e22f11ce112c72.tar.gz openembedded-core-4d1b7dae063ee4c35c426306d0e22f11ce112c72.tar.bz2 openembedded-core-4d1b7dae063ee4c35c426306d0e22f11ce112c72.zip |
kernel-yocto: fix kernel configuration audit for custom yocto kernels
It was reported that the kernel configuration checks for custom yocto
kernels had the following output:
NOTE: validating kernel configuration
grep: /meta-series: No such file or directory
grep: /meta-series: No such file or directory
WARNING: Can't find any BSP hardware or required configuration fragments.
WARNING: Looked at //cfg///hdw_frags.txt and //cfg///required_frags.txt in directory: //cfg//
NOTE: Tasks Summary: Attempted 375 tasks of which 367 didn't need to be rerun and all succeeded.
which is not inspire confidence in the output of the process.
Completely inhibiting the check is one option to remove the messages,
but that removes the ability see output, which can help move users to
a better or more fully configured linux-yocto based kernel.
To fix this, we have to ensure that the path to the meta-series is
always valid, and that the tools can deal with not all files existing
in the audit directory.
Since custom yocto kernels do not set KMETA (they don't have a meta branch),
we ensure that a default of 'meta' is passed to the audit ('meta' is always
valid), and that kconf_check itself can deal with an incomplete set of
input audit files.
The net result is output like this (using a defconfig with invalid options
for the kernel being built):
NOTE: validating kernel configuration
This BSP sets 19 invalid/obsolete kernel options.
These config options are not offered anywhere within this kernel.
The full list can be found in your kernel src dir at:
meta/cfg/standard/qemux86/invalid.cfg
There were 1 instances of config fragment errors.
The full list can be found in your kernel src dir at:
meta/cfg/standard/qemux86/fragment_errors.txt
The full list can be found in your kernel src dir at:
meta/cfg/standard/qemux86/missing_required.cfg
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/kernel-yocto.bbclass')
-rw-r--r-- | meta/classes/kernel-yocto.bbclass | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 724e5cd475..f78d63b349 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -212,8 +212,13 @@ python do_kernel_configcheck() { bb.plain("NOTE: validating kernel configuration") + # if KMETA isn't set globally by a recipe using this routine, we need to + # set the default to 'meta'. Otherwise, kconf_check is not passed a valid + # meta-series for processing + kmeta = d.getVar( "KMETA", True ) or "meta" + pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/") - cmd = d.expand("cd ${S}; kconf_check -config- ${KMETA}/meta-series ${S} ${B}") + cmd = d.expand("cd ${S}; kconf_check -config- %s/meta-series ${S} ${B}" % kmeta) ret, result = commands.getstatusoutput("%s%s" % (pathprefix, cmd)) bb.plain( "%s" % result ) |