[OE-core] Building core-image-rt - how to specify the rt kernel

Darren Hart dvhart at linux.intel.com
Thu Apr 5 16:00:32 UTC 2012


When building core-image-rt from the oe-core recipes-rt section, T
OCallaghan noticed he wasn't getting the linux-yocto-rt kernel. The
problem was that he was not setting the
PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt.

When I prepared the recipes-rt section, I wanted to be able to
automatically select the linux-yocto-rt kernel when building the
core-image-rt image. Unfortunately, the image recipe cannot set this
value as I understand it due to parse ordering and some fundamental
concepts about how the system works.

I documented the requirement to explicitly set this in the
recipes-rt/README, but that may not be an obvious place to look.

We have a couple of options here. We can try to improve the error
messages which are verbose and don't provide much direction for someone
new to the process:

ERROR: Multiple .bb files are due to be built which each provide
virtual/kernel
(/test_yocto/poky/meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb
/test_yocto/poky/meta/recipes-kernel/linux/linux-yocto_3.2.bb).
 This usually means one provides something the other doesn't and should.

We could document rt explicitly in the developer guide, although thus
far we haven't done much with these sorts of focused tactical issues in
the docs (I don't think). This also doesn't scale particularly well.

Finally, I could rip recipes-rt out of oe-core and maintain it in a
meta-rt layer whose layer.conf sets:

PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto-rt"

I'd appreciate thoughts on why one approach would be more appropriate
than another.

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel




More information about the Openembedded-core mailing list