[oe] conditional kernel configuration

Koen Kooi k.kooi at student.utwente.nl
Mon Dec 1 09:20:19 UTC 2008


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:

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.

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).

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

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






More information about the Openembedded-devel mailing list