[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