Building core-image-rt - how to specify the rt kernel
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.
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel