For a bare-bone kernel recipe which specifies 32 bit x86 target, a 64 bit .config will be generated from do_configure task when building 32-bit qemux86, once all of these conditions are true:
() arch of host is x86_64 () kernel source tree used in build has commit ffee0de41 which actually chooses i386 or x86_64 defconfig by asking host arch if ARCH is "x86" (arch/x86/Makefile) () bare-bone kernel recipe inherits directly from kernel without other special treatment Build will fail in this case because of the mismatched architecture of kernel image after compiling. The patch sets ARCH i386 or x86_64 explicitly to configure task to avoid this host contamination. Signed-off-by: Jianxun Zhang <jianxun.zh...@linux.intel.com> --- meta/classes/kernel-arch.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass index 3ed5986..d8b180e 100644 --- a/meta/classes/kernel-arch.bbclass +++ b/meta/classes/kernel-arch.bbclass @@ -21,7 +21,9 @@ def map_kernel_arch(a, d): valid_archs = d.getVar('valid_archs', True).split() - if re.match('(i.86|athlon|x86.64)$', a): return 'x86' + if re.match('i.86$', a): return 'i386' + elif re.match('x86.64$', a): return 'x86_64' + elif re.match('athlon$', a): return 'x86' elif re.match('armeb$', a): return 'arm' elif re.match('aarch64$', a): return 'arm64' elif re.match('aarch64_be$', a): return 'arm64' -- 1.9.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core