[OE-core] Do we have a package that installs the kernel headers and config into the target?

Cui, Dexuan dexuan.cui at intel.com
Fri Apr 6 07:48:47 UTC 2012


Darren Hart wrote on 2012-04-06:
> On 04/05/2012 09:41 PM, Cui, Dexuan wrote:
>> Darren Hart wrote on 2012-04-06:
>>> On 04/05/2012 08:20 PM, Cui, Dexuan wrote:
>>>> In a typical Linux distribution, there is a build link(or directory)
>>>> that specifies the directory where the kernel headers and kernel config
>>>> are put.
>>>> 
>>>> E.g. in my Ubuntu 11.04, a package linux-headers-2.6.38-8-generic
>>> installs .config, include/ and Kconfig into
>>> /usr/src/linux-headers-2.6.38-8-generic/ and makes a link
>>> /lib/modules/2.6.38-8-generic/build to point to the directory.
>>>> 
>>>> However, looks in Yocto, we don't have such a package? Do we have a
>>>> plan to add it?
>>>> 
>>>> I'm asking the question because in the ESDC contest, the students found in
>>> Yocto they couldn't build the wifi driver's source code that was
>>> downloaded from realtek.com:
>>> 
>>> http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PFid=4
>>> 
> 8&Level=5&Conn=4&ProdID=226&DownTypeID=3&GetDown=false&Downloads
> =true
>>>> In Ubuntu, they can build the driver fine.
>>> 
>>> There is an open bug:
>>> https://bugzilla.yoctoproject.org/show_bug.cgi?id=1614
>> 
>> Glad to know this is a know bug.
>> I personally think it would be pretty nice if we can fix this bug soon
>> since the students are being frustrated by this...
>> 
>> And, in the Build Appliance (self-hosted-image) work, we want to
>> enable the vmware guest's VMware Tools. This also requires the ability
>> to build kernel module in the target.
>> 
> 
> While I understand there are valid use cases, I think this is generally
> contrary to workflow of the project. We build the OS, it runs on the
> target. This is building a general purpose OS, and then having it build
> itself out more. It doesn't feel like an embedded workflow.
I totally agree with you.

Unluckily we'll have to face an imperfect world:
E.g., in the ESDC contest, after the students boot the board with
Yocto Linux, they attach a Realtek wifi device and try to build and
install the driver.

What's bad is: the driver's source code is not integrated into the
upstream linux. The students can only run a makefile of the driver
tarball to build the driver.  To the students' surprise, there is no
kernel headers in the running Yocto linux! :-(

Surely, the "standard" way is: we should write a recipe to
cross-compile and install the driver. But this is difficult to the
students:
1) They're not familiar with Poky at all, and actually the downloaded
wifi driver's code here seems indeed complex.

2) The students only have limited time so they intend to spend
most of the time on things that could make them win a prize or
money. :-)
So this actually makes Yocto less appealing to them though the
goal of Yocto is making developing on embedded easy...

> That said, there are valid use cases, but I don't consider this a
> particularly high priority at the moment. I'm happy to hear other
> thoughts on why this should be bumped in prio though.
Currently I have suggested them that they should manually copy
The kernel headers and .config into the target.
Hope this can work around the issue for them.

Thanks,
-- Dexuan






More information about the Openembedded-core mailing list