[yocto] Conditional Configuration Fragments
Pierre Yves MORDRET
pierre-yves.mordret at st.com
Tue Jun 10 08:11:59 PDT 2014
On Monday 09 June 2014 09:56:20 Paul Eggleton <paul.eggleton at linux.intel.com> wrote:
> On Monday 09 June 2014 12:41:36 Bruce Ashfield wrote:
> > On 14-06-09 11:26 AM, Pierre Yves MORDRET wrote:
> > > Hello,
> > >
> > > I really don't know whether this is feasible or not, but I'm trying to
> > > build a yocto image (custom image) with conditional configuration
> > > fragments.
> > >
> > > Today I have 2 image type: one for deployment purpose and another for
> > > debug purpose. Debug images is only a superset of deployment image with
> > > additional debug capabilities: nothing else.
> > >
> > > However now I would like to add additional linux kernel features to this
> > > debug image (ex: CONFIG_DEBUG_INFO=y).
> > >
> > > I want to add this feature into debug image, but NOT in deployment image.
> > >
> > > I was thinking to create a .bbappend to my linux .bb file, but again I
> > > don't see how to use .bbappend in a conditional way (based on image name
> > > for instance)
> > >
> > > Do you have any idea to perform such request ?
> >
> > Fragments are either just added to the SRC_URI or KERNEL_FEATURES via
> > the normal variable assignment rules.
> >
> > So if you have something that you can test on (image/distro feature as
> > an example), you can use anonymous python and do a conditional
> > assignment.
> >
> > Others on the list may have more elegant suggestions!
>
> This can't work for what Pierre is asking for. You can't have a single recipe
> built differently depending on what image is being built - our system does not
> work that way. At a basic level, recipes create packages, and then the image
> recipe selects which packages should go into the image.
>
> Given that the kernel does not produce named packages in our system, I'm not
> sure we currently have a way to build two different kernel recipes and select
> one in one image and another in another image (which is the way we normally
> handle this kind of requirement with other recipes.) Probably the only way to
> do this is to have two completely separate build directories.
Many Thanks for your answers.
Thus I was thinking of making 2 separate linux.bb, one for deployment and the other for debug (i.e. linux-debug.bb) and update PREFERRED_PROVIDER_virtual/kernel accordingly.
But is there an automatic way to select proper .bb (linux.bb or linux-debug.bb) file like setting this variable(PREFERRED_PROVIDER_virtual/kernel) within the .bb image file ? Won't it work ?
Another option which is coming on top of my mind:
SRC_URI_append_<image-name> = " file://configuration_segment.cfg"
Is it something realistic and working ?
Please advise
Many thanks in advance
More information about the yocto
mailing list