如何指定使用bitbake / yocto构build哪个内核

我正在使用yocto菊花来生成一个新的BSP。 当我build立我的形象时,我得到这些警告:

NOTE: Resolving any missing task queue dependencies NOTE: multiple providers are available for virtual/kernel (my-kernel, linux-dummy) NOTE: consider defining a PREFERRED_PROVIDER entry to match virtual/kernel NOTE: multiple providers are available for runtime kernel-modules (my-kernel, linux-dummy) NOTE: consider defining a PREFERRED_PROVIDER entry to match kernel-modules 

我无法理解如何定义内核的首选提供者。 从我读过的,我应该只需要将其添加到meta-myLayer / conf / machine / myMachine.conf我这样做:

 KERNEL_IMAGETYPE = "zImage" KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/myTree.dtb" KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" # use this kernel and version PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" PREFERRED_VERSION_linux-yocto = "3.14%" 

Yocto / bitbake似乎忽略了这些线条。
另外,为了清楚起见,我还在build / conf / local.conf中正确设置了机器名称

还有什么我需要改变,让这个工作? 还是Yocto就这么坏了?

Solutions Collecting From Web of "如何指定使用bitbake / yocto构build哪个内核"

就像E-rich写道的,构建系统只把my-kernel和linux-dummy看作虚拟/内核的可用提供者。 因此,我想你真的想要建立其中之一?

linux-yocto不可用的原因可能是您的机器不在linux-yocto_3.14.bb中的COMPATIBLE_MACHINE正则表达式中。 因此,如果你想使用linux-yocto,你应该在你自己的层中使用这个配方,然后把你的机器添加到COMPATIBLE_MACHINE中。 (你也可能需要提供更多的参数,SRCREV,KBRANCH等)