使用 yocto 选择内核

Kernel selection using yocto

我正在使用 Yocto 为 i.MX 开发板构建图像。我的要求是为开发板构建特定的内核。

从 Freescale Yocto 存储库站点下载后,我可以看到多个内核的配方。

你能指导我了解 yocto 将如何决定构建哪个内核吗?我的意思是 Yocto 在哪里配置为从可用的内核配方中构建特定的内核?

Select 在您的机器配置中构建哪个内核,请参阅 BSP manual and for example Whosebug question

基本上,选择内核你可以添加

PREFERRED_PROVIDER_virtual/kernel = "my-kernel-recipe"

给你的mymachine.conf.

您应该拥有或创建内核 bb 层以获得内核源代码。

获得内核源代码后,在 local.conf 文件中添加以下内容。

PREFERRED_PROVIDER_virtual/kernel ?= "<bb_layer_name>"
PREFERRED_VERSION_<bb_layer_name> ?= "<version>"

例如

mkdir -p meta-imx/recipes-kernel/linux/linux-imx_4.11.bb

在 bb 文件中添加你想要的任何内容。

vi build/local.conf

# kernel preference    
PREFERRED_PROVIDER_virtual/kernel ?= "linux-imx"
PREFERRED_VERSION_linux-imx ?= "4.11%"

一旦你熟练使用它,你就可以将 build/local.conf 合并到你的目标,例如 local.conf.sample 或你给的任何名称。

转到你的 meta-layer/conf/machine 然后打开你的 selected-machine.conf 文件,在那里你会找到宏变量

PREFERRED_PROVIDER_virtual/kernel

PREFERRED_VERSION_<bb_layer_name> ?= "<version>"

元层开发人员在这里写了默认值kernel & version。如果.

build/conf/local.conf文件中添加首选内核版本

PREFERRED_VERSION_linux-imx = "3.14%"