[oe] conditional kernel configuration

Mike Turquette mturquette at gmail.com
Mon Dec 1 10:56:56 UTC 2008


On Mon, Dec 1, 2008 at 3:20 AM, Koen Kooi <k.kooi at student.utwente.nl> wrote:
> On 01-12-08 09:38, Mike Turquette wrote:
>>
>> Hi,
>>
>> I was recently looking into configuring the kernel dynamically based
>> on IMAGE_FEATURES.
>
> First: there's no such thing as IMAGE_FEATURES in OE:

You've found me out!  I'm based off of Poky and assumed this was a
similar to OE.

> koen at dominion:/OE/org.openembedded.dev$ grep IMAGE_FEATURES . -rn
> koen at dominion:/OE/org.openembedded.dev$
>
> Secondly: This looks a lot like USE flags, which we decided not to use in OE
> since it's impossible to do deterministic builds with them and at run-time
> there are a QA nightmare.

Yes, it is similar to USE flags to a degree.

> To illustrate the second point:
>
> a) clean tmp/
> b) unset 'my-conn', build image
> c) set 'my-conn', build image
>
> You now have an image in deploy where 'my-conn' is present, but the kernel
> is lacking WLAN support since it didn't get rebuilt after b).

Right.  I understood this problem going into it, but it seemed an
acceptable issue given that state of the code I'm wrestling with.

> I suspect what you need is a switch whether to include wlan *modules* into
> the image or not.

This is by and large be the best solution.  However I'm given very
little flexibility with the code I'm being handed at work so I'll keep
searching until the code gets cleaned up.

Thanks,
Mike

> regards,
>
> Koen
>
>
>
>> Here is a snippet from my kernel recipe:
>>
>> OVERRIDE_WLAN = "${@base_contains("IMAGE_FEATURES", "my-conn",
>> ":mywlan", "",d)}"
>> OVERRIDES .= "${OVERRIDE_WLAN}"
>>
>> SRC_URI = "git://some_tree"
>> SRC_URI_prepend_mywlan = "git://some_other_tree_with_wlan"
>>
>> This is a simplified example of what my recipe does (in fact I don't
>> fetch from git in this recipe at all).  But the point is clear:
>> looking for my-conn in IMAGE_FEATURES (which is set or not set in
>> my-cool-image.bb) should determine whether SRC_URI has one tree or
>> both trees in it.
>>
>> The problem is that IMAGE_FEATURES only has the stuff specified in
>> local.conf when the kernel recipe gets selected (this obviously
>> happens when I bitbake mykernel, but also when I bitbake
>> my-cool-image).  All of the features specified in my-cool-image.bb are
>> not in it (yet).
>>
>> Am I going about this the wrong way?  I would really like to
>> conditionally set which code to build in my kernel recipe based on
>> whether or not the my-conn task is included in IMAGE_FEATURES.
>>
>> Any other solutions that depart from my IMAGE_FEATURES scrape method
>> are very welcome too!
>>
>> Thanks,
>> Mike
>
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list