[yocto] Splitting processor and target in BSPs

Bruce Ashfield bruce.ashfield at windriver.com
Fri Sep 2 08:48:05 PDT 2011


On 11-09-02 03:26 AM, Chris Tapp wrote:
> 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?

What you've described is one of the primary reasons that the
configuration fragments exist :) You define a common set of
config fragments, extend and then select what you want.

These are available in all the releases, but the capabilities
are evolving and I merge more changes into the yocto bindings
for manipulating the configuration fragments outside of a kernel
tree proper.

If you have your own kernel repository based on linux-yocto, you
could implement any of this inside the tree. If you are re-using
existing machines/branches in the linux-yocto tree, you can also
do what you want, but have to do it via a collection of configuration
fragments that are appended to the SRC_URI based on the machine
you are building,.

Cheers,

Bruce

>
> Chris Tapp
>
> opensource at keylevel.com
> www.keylevel.com
>
>
>
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto




More information about the yocto mailing list