[yocto] Splitting processor and target in BSPs

Chris Tapp opensource at keylevel.com
Fri Sep 2 00:26:38 PDT 2011


How should meta data be structured so that a layer can support a set  
of systems using a set of processors?

For example, many of the 'eBox' systems use variants of the Vortex86  
SoC. So, a set of machine files are needed for these (e.g. ebox-3300,  
ebox-3500mx, etc.).

These have different peripherals available (e.g. some have serial,  
some don't) and use different SoC variants with different cpu, sound,  
etc. It would therefore make sense for the machine configuration to  
inherit the SoC attributes (for the common features) and add (or  
remove) machine specific attributes (e.g. serial) to these. This can  
be done by putting the SoC bits in to an include.

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?

Chris Tapp

opensource at keylevel.com
www.keylevel.com






More information about the yocto mailing list