[OE-core] kernel: building target-arch scripts/* to include in kernel-headers package

Darren Hart dvhart at linux.intel.com
Tue Jun 26 15:58:07 UTC 2012



On 06/25/2012 10:19 PM, Khem Raj wrote:
> On Mon, Jun 25, 2012 at 4:33 PM, Darren Hart <dvhart at linux.intel.com> wrote:
>> I'm working on a patch series to provide a kernel-headers package which
>> allows for the compilation of Linux kernel modules on the target. I
>> currently have something working, but it requires that I first build the
>> scripts/* binaries on the target, prior to trying to build a module.
>>
>>        # cd /usr/src/kernel-headers
>>        # make scripts
>>
>> Then I can build modules:
>>
>>        # cd /home/root/hello-mod/files
>>        # export KERNEL_SRC=/usr/src/kernel-headers
>>        # make
>>
>> And test:
>>
>>        # insmod hello.ko
>>        # rmmod hello.ko
>>        # dmesg | tail -n2
>>        Hello World!
>>        Goodbye Cruel World!
>>
>> I would like to package the target-arch scripts binaries with the
>> kernel-headers package, but I'm not sure how to go about building both
>> the native and the target binaries as part of the kernel building
>> process. Does it make sense to build these as part of the do_install()
>> task after I've moved the files from the linux recipe's workdir and
>> removed the host-arch binaries from scripts?
>>
> 
> the hostprogs there are a bit hairy. you could set HOSTCC to point to
> cross compiler and build scripts dir in some O=foo after copying
> .config into it but the problem would be that build system expects the
> hosttools in build tree at exact same location
> e.g. fixdep would be needed even to build other hosttools e.g.
> recordmcount etc. and thats where you have to patch kbuild such that
> it could reference another fixdep tool which then will be built for
> the host you are compiling kernel on.
> 

Ewe, what a mess.

Another option would be to add:

        # cd /usr/src/kernel-headers
        # make scripts

To the kernel-headers post-inst script. It feels hackish, but perhaps
it's a reasonable path to getting the functionality people are looking
for. I still content one should be building modules as either part of
the kernel build or as recipes styled after hello-mod.

> I have a reverse problem, I want to package the scripts/ for cross building :)

So do you need a kernel-headers-native package then? Do we possibly need
to tackle both these issues at once? I can send out my patches if you
think there is overlap.


-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel






More information about the Openembedded-core mailing list