如何使用bitbake / yocto指定要构建的内核

时间:2014-11-05 16:02:59

标签: linux kernel bitbake yocto

我正在使用yocto雏菊生成新的BSP。当我构建我的图像时,我收到了这些警告:

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那个坏了?

1 个答案:

答案 0 :(得分:6)

与E-rich写的一样,构建系统只将my-kernel和linux-dummy视为虚拟/内核的可用提供者。因此,我猜你实际上想要建立其中一个?

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