summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2012-09-13 08:59:08 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-14 09:50:29 +0100
commit3a6cebbe373f3d02f92210d319f0622482b5841f (patch)
treeb03c13959b92f086242de7b1c8fea9f7d5de3a1e /meta/classes
parent4bb2ce4f30ed1d466577c9cd65a8df5e51ade412 (diff)
downloadpoky-3a6cebbe373f3d02f92210d319f0622482b5841f.tar.gz
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 (From OE-Core rev: 4d1b7dae063ee4c35c426306d0e22f11ce112c72) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/kernel-yocto.bbclass7
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() {
212 212
213 bb.plain("NOTE: validating kernel configuration") 213 bb.plain("NOTE: validating kernel configuration")
214 214
215 # if KMETA isn't set globally by a recipe using this routine, we need to
216 # set the default to 'meta'. Otherwise, kconf_check is not passed a valid
217 # meta-series for processing
218 kmeta = d.getVar( "KMETA", True ) or "meta"
219
215 pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/") 220 pathprefix = "export PATH=%s:%s; " % (d.getVar('PATH', True), "${S}/scripts/util/")
216 cmd = d.expand("cd ${S}; kconf_check -config- ${KMETA}/meta-series ${S} ${B}") 221 cmd = d.expand("cd ${S}; kconf_check -config- %s/meta-series ${S} ${B}" % kmeta)
217 ret, result = commands.getstatusoutput("%s%s" % (pathprefix, cmd)) 222 ret, result = commands.getstatusoutput("%s%s" % (pathprefix, cmd))
218 223
219 bb.plain( "%s" % result ) 224 bb.plain( "%s" % result )