Wind River Support Network

HomeDefectsLIN8-8056
Fixed

LIN8-8056 : The "conf.o" component is not compiled during build of the kernel 4.1 SDK

Created: Oct 23, 2017    Updated: Dec 3, 2018
Resolved Date: Dec 8, 2017
Found In Version: 8.0.0.21
Fix Version: 8.0.0.24
Severity: Standard
Applicable for: Wind River Linux 8
Component/s: Kernel

Description

When building a project, with the kernel-dev layer, the conf.o kernel object from scripts/kconfig/ is not exported in the SDK.

The expected location is:
SDK_INSTALL_PATH/sysroots/core2-64-wrs-linux/usr/src/kernelscripts/kconfig

Running oldconfig against the SDK tree, re-generates the missing conf.o 

-bash-4.3$ pwd
/workspace/scostand/sdk_8/sysroots/core2-64-wrs-linux/usr/src/kernel
-bash-4.3$ ls scripts/kconfig | grep conf.o
-bash-4.3$ 
-bash-4.3$ ls scripts/kconfig | grep conf.o
-bash-4.3$ make oldconfig
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --oldconfig Kconfig
#
# configuration written to .config
#
-bash-4.3$ ls scripts/kconfig | grep conf.o
conf.o



This is viewed as a regression, as in wrlinux 5, conf.o was generated from the beginning and included in the SDK archive. In the project it was located under:

bitbake_build/tmp/sysroots/intel-xeon-core/usr/src/kernel/scripts/kconfig/conf.o
./bitbake_build/tmp/work/intel_xeon_core-wrs-linux/linux-windriver-3.4-r0/linux-intel-xeon-core-cgl-build/scripts/kconfig/conf.o
...

and was exported properly in the SDK.

Under wrlinux 8, bitbake_build/tmp/work/qemux86_64-wrs-linux/linux-windriver/4.1-r0/linux-qemux86_64-standard-build/scripts/kconfig/conf.o

Workaround

qemux86-64/layers/wr-kernel/kernel-dev/classes/kernel-sdk.bbclass 
--- a/kernel-sdk.bbclass 
+++ b/kernel-sdk.bbclass 
@@ -24,7 +24,7 @@ python kernel_sdkpostprocess () { 

     if os.path.exists(kernel_src_base): 
         bb.note( "kernel SDK: kernel source found, creating scripts" ) 
- makecmd = "cd %s; pwd; make CROSS_COMPILE=" + cross_tool_prefix + " scripts" 
+ makecmd = "cd %s; pwd; make -B CROSS_COMPILE=" + cross_tool_prefix + " scripts" 
         cmd = d.expand(makecmd % kernel_src_base ) 
         ret, result = commands.getstatusoutput("%s" % cmd) 
         bb.note( "%s" % result ) 

Steps to Reproduce

1. configure a project with:

 --with-board=qemux86-64 --enable-rootfs=glibc-std --enable-kernel=standard --with-layer=wr-kernel/kernel-dev

2. run make all, make export-sdk

3. check the SDK_INSTALL_PATH/sysroots/core2-64-wrs-linux/usr/src/kernelscripts/kconfig path

(for comparison purposes, the wrlinux 5 project may be configured with similar BSP/kernel/rootfs/layer configuration)

Other Downloads


Live chat
Online