[OE-core] [PATCH v2] kernel-devsrc: restructure for out of tree (and on target) module builds

Bruce Ashfield bruce.ashfield at windriver.com
Thu Jul 12 13:55:58 UTC 2018


On 2018-07-12 9:53 AM, Richard Purdie wrote:
> On Thu, 2018-07-12 at 09:49 -0400, Bruce Ashfield wrote:
>> On 2018-07-10 5:41 PM, Richard Purdie wrote:
>>> On Tue, 2018-07-10 at 12:38 -0400, Bruce Ashfield wrote:
>>>> On 07/10/2018 06:21 AM, Richard Purdie wrote:
>>>>> On Mon, 2018-07-09 at 11:53 -0400, Bruce Ashfield wrote:
>>>>
>>>> I'll try the other configs, but clearly I have something
>>>> different in
>>>> my x86-64 build.
>>>>
>>>> I can't run the self tests directly, but am copying the files
>>>> onto my
>>>> qemu session and running things myself:
>>>>
>>>> root at qemux86-64:/lib/modules/4.14.48-yocto-standard/build# make
>>>> ARCH=x86
>>>> scripts prepare
>>>> Makefile:950: "Cannot use CONFIG_STACK_VALIDATION=y, please
>>>> install
>>>> libelf-dev, libelf-devel or elfutils-libelf-devel"
>>>>      CHK     scripts/mod/devicetable-offsets.h
>>>>      SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
>>>>      SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
>>>>      SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
>>>>      SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
>>>>      SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
>>>>      SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
>>>>      SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
>>>>      HOSTCC  arch/x86/tools/relocs_32.o
>>>>      HOSTCC  arch/x86/tools/relocs_64.o
>>>>      HOSTCC  arch/x86/tools/relocs_common.o
>>>>      HOSTLD  arch/x86/tools/relocs
>>>>      CHK     include/config/kernel.release
>>>>      CHK     include/generated/uapi/linux/version.h
>>>>      CHK     include/generated/utsrelease.h
>>>> Makefile:950: "Cannot use CONFIG_STACK_VALIDATION=y, please
>>>> install
>>>> libelf-dev, libelf-devel or elfutils-libelf-devel"
>>>>
>>>> root at qemux86-64:/tmp# make
>>>> make -C /usr/src/kernel M=/tmp modules
>>>> make[1]: Entering directory '/lib/modules/4.14.48-yocto-
>>>> standard/build'
>>>> Makefile:950: "Cannot use CONFIG_STACK_VALIDATION=y, please
>>>> install
>>>> libelf-dev, libelf-devel or elfutils-libelf-devel"
>>>>      Building modules, stage 2.
>>>>      MODPOST 1 modules
>>>> make[1]: Leaving directory '/lib/modules/4.14.48-yocto-
>>>> standard/build'
>>>> root at qemux86-64:/tmp# insmod hellomod.ko
>>>> [  419.211616] hellomod: loading out-of-tree module taints
>>>> kernel.
>>>> [  419.212586] Hello world!
>>>>
>>>> This is on the core-image-kernel-dev image, which is the one that
>>>> I created to test all this.
>>>>
>>>> What image is that using ? some sato sdk one ?
>>>
>>> We really need to find you a way to run these. The problem is the
>>> qemu
>>> graphics piece? You can't have a dummy vncserver or something to
>>> direct
>>> them at?
>>>
>>> The image is a core-image-sato-sdk...
>>
>> I was able to trigger the objtool issue with this image, looking at
>> fixing it and the other arches now.
> 
> Since its image related, is it a missing package dependency? Just
> curious why its happening with some images but not your test ones...

It is. I have extra toolchain elements being installed in 
core-image-kernel-dev
that hold things together (i.e. the kernel's objtool doesn't need to
be built).

The obvious fix is to just add an RDEPENDS, but I'm being stubborn
and trying to make it build on target, since the build of objtool from
the kernel source is showing me some sort of include path issue that
I'd like to sort out:

   CC 
/lib/modules/4.14.48-yocto-standard/build/tools/objtool/exec-cmd.o
exec-cmd.c: In function 'get_pwd_cwd':
exec-cmd.c:49:4: error: implicit declaration of function 'strlcpy'; did 
you mean 'strncpy'? [-Werror=implicit-function-declaration]
     strlcpy(cwd, pwd, PATH_MAX);
     ^~~~~~~
     strncpy
exec-cmd.c:49:4: error: nested extern declaration of 'strlcpy' 
[-Werror=nested-externs]
cc1: all warnings being treated as errors

Cheers,

Bruce

> 
> Cheers,
> 
> Richard
> 




More information about the Openembedded-core mailing list