[yocto] Selecting different kernel inside an image recipe

Bruce Ashfield bruce.ashfield at windriver.com
Wed Jul 8 10:30:54 PDT 2015


On 2015-07-08 12:36 PM, Klaus Knopper wrote:
> Hello Leonardo,
>
> On Wed, Jul 08, 2015 at 10:40:10AM -0500, Leonardo Sandoval wrote:
>> On 07/08/2015 09:50 AM, Klaus Knopper wrote:
>>> Hello list,
>>>
>>> I'm trying to build variantions/brands of an image that only differ in
>>> kernel configuration and kernel modules included, but everything else stays
>>> the same, for the exact same board, as in the main image.
>>>
>>> Setting PREFERRED_PROVIDER_virtual/kernel = "different_kernel"
>>> right inside in the new image recipe does not have any effect, as that
>>> variable seems to be evaluated exclusively in the local.conf machine
>>> file, which is read by all recipes.
>>
>> This variable is commonly used inside configuration metadata (machine or
>> distro conf files). You may try it there.
>
> Please help me to understand your answer: You are saying that I do have
> to change the machine or distro config used for ALL recipes, to be able
> to use a different kernel configuration in ONE recipe, right?
>
> I was really trying to avoid that. :-(
>
> So it is really not possible to just select a different kernel config
> within a normal recipe without changing the global configuration?

You really want a different kernel recipe to provide that different
kernel configuration.  Which looks to be what you are describing, and
you just want to switch the provider (again, what you are saying).

Changing the included kernel via that different kernel recipe/package
name, and setting it via the preferred provider is the same as any
bitbake variable.

So you should be able to set it in any .conf file, and then have what
you want. I've used layers with layer.conf files, and similar mechanisms
to do what you are trying in the past .. but the longer serving oe/bitbake
folks may have a better example to point at.

Cheers,

Bruce

>
> Regards
> -Klaus
>




More information about the yocto mailing list