[yocto] Splitting processor and target in BSPs

Chris Tapp opensource at keylevel.com
Sat Sep 3 04:32:31 PDT 2011


On 2 Sep 2011, at 16:49, McClintock Matthew-B29882 wrote:

> On Fri, Sep 2, 2011 at 2:26 AM, Chris Tapp <opensource at keylevel.com>  
> wrote:
>> However, kernel configuration becomes a little bit more complicated  
>> as this
>> is done by machine name. A kernel recipe will be needed for each  
>> machine
>> (e.g. for the different sound drivers), but I can't work out how to  
>> do this
>> using a base configuration for the SoCs that are shared and then  
>> adding
>> machine specific parts. I can do it using (for example)  
>> a .defconfig for
>> each machine, but that would require updates to multiple files to  
>> change the
>> SoC configuration.
>>
>> I guess what I'm really asking is, is it possible to have a base CPU
>> configuration and add a machine configuration to this ?
>>
>> I've recently seen discussion of .cfg kernel fragment files. Are  
>> these what
>> I should be looking at? Are these available in the releases or only  
>> in the
>> development branch?
>
> I think this is a good solution for you. It's a little confusing to
> find were this work is but you can look in the linux-yocto kernel tree
> - then the actual cfg fragment stuff on different branches.
> http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/
>
> meta branch contains meta/ which contains a lot of the cfg fragments,
> and patches, etc.

Thanks, I can see what they look like now ;-)

What are 'the rules' for cfg files? I.e.:

1) Does adding #CONFIG_this_bit not set
disable a node and its dependencies? For example, if I turn off usb  
serial support do the usb serial drivers get disabled as well or do I  
have to do this manually?

2) Similarly, if a node is enabled what happens to the dependent  
nodes? Do they all need to be covered, or only the ones that need to  
be enabled?

I've also noticed that there are scc files. These seem to pull  
features in to sets? How do these work?

meta/cfg/kernel-cache/bsp/common-pc/hardware.cfg contains

CONFIG_ATH5K
CONFIG_ATH_COMMON
...
CONFIG_SERIAL_8250_CONSOLE

It seems as if this file does something else, as these don't look like  
valid kernel configuration options.

> There is also a document in the git repo as well which is worth a  
> look.

I couldn't see one, but there's a lot in there ;-)

Sorry for all the questions, but there's a lot to understand for  
someone new :-)


Chris Tapp

opensource at keylevel.com
www.keylevel.com






More information about the yocto mailing list