[yocto] Splitting processor and target in BSPs
Tom Zanussi
tom.zanussi at intel.com
Fri Sep 2 12:39:13 PDT 2011
On Fri, 2011-09-02 at 00:26 -0700, 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?
>
You might also be able to use 'KERNEL_FEATURES' to help manage the .cfg
fragments by machine. For example, in the kernel recipes you can see:
meta/recipes-kernel/linux/linux-yocto_3.0.bb:
# Functionality flags
KERNEL_FEATURES="features/netfilter"
KERNEL_FEATURES_append=" features/taskstats"
KERNEL_FEATURES_append_qemux86=" cfg/sound"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
which map to features in the yocto kernel meta branch.
And in the kernel .bbappends in the kernel dev layer some more
explanation:
poky-extras/meta-kernel-dev/recipes-kernel/linux/linux-yocto_3.0.bbappend:
# KERNEL_FEATURES are features to be added to the kernel, and must
# point to configurations stored on the 'meta' branch of the kernel
# that is being built.
# KERNEL_FEATURES ?= <FOO>
Tom
> 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