如何指定使用bitbake/yocto构建的内核 [英] How to specify which kernel to build with bitbake/yocto

查看:586
本文介绍了如何指定使用bitbake/yocto构建的内核的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用yocto雏菊生成一个新的BSP.建立图片时,我会收到以下警告:

I am working on generating a new BSP using yocto daisy. When I build my image I get these warnings:

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中 我这样做的,是这样的:

I can't understand how to define my preferred provider for the kernel. From what I have read I should just need to add it to the meta-myLayer/conf/machine/myMachine.conf Which I did, as such:

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/bitbake seem to be ignoring these lines.
Also, to be clear I also have the machine name set correctly in build/conf/local.conf

我还需要更改其他内容才能使其正常工作吗?还是Yocto那样坏了?

Is there something else I need to change to get this to work? Or is Yocto just that broken?

推荐答案

就像E-rich所说,构建系统仅将my-kernel和linux-dummy视为虚拟/内核的可用提供程序.因此,我猜您实际上是要构建其中之一?

Like E-rich wrote, the build system does only see my-kernel and linux-dummy as available providers for virtual/kernel. Thus, I'd guess that you'd actually want to build one of them?

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

The reason that linux-yocto isn't available is likely that your machine isn't in the COMPATIBLE_MACHINE regexp in linux-yocto_3.14.bb. Thus, if you want to use linux-yocto, you should bbappend that recipe in your own layer, and add your machine to COMPATIBLE_MACHINE. (You will also likely need to supply some more parameters, SRCREV, KBRANCH, etc.)

这篇关于如何指定使用bitbake/yocto构建的内核的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆