[oe] conditional kernel configuration

Mike Turquette mturquette at gmail.com
Mon Dec 1 08:38:41 UTC 2008


Hi,

I was recently looking into configuring the kernel dynamically based
on IMAGE_FEATURES.  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