更改 qemux86 机器使用的内核配方

更改 qemux86 机器使用的内核配方

我决定更改 Yocto 使用的内核(作为学习练习),但我不知道 Yocto 使用的内核存储在哪里。我知道它存储在一个食谱中,但我不知道它存储在哪个食谱中。有人知道吗?我实际上正在输入一些命令(如下所列),请随意在您的计算机上执行。

 $ git clone http://git.yoctoproject.org/git/poky
 $ cd poky
 $ git checkout -b fido origin/fido
 $ source oe-init-build-env
 $bitbake core-image-minimal
 $runqemu qemux86

答案1

我不知道 Yocto 使用的内核存储在哪里。

配置文件poky/meta/conf/machine/include/qemu.inc有以下几行

   # Use a common kernel recipe for all QEMU machines
   PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"

这指示 bitbake 在路径下查找内核配方狭小的/元/食谱-内核/linux/

现在在那条路上你会注意到两个食谱

  • linux-yocto_4.1.bb
  • linux-yocto_4.4.bb

按照设计,bitbake 将使用linux-yocto_4.4.bb,即将为机器 qemux86 构建 4.4 内核。这是因为,bitbake 的设计偏爱最高配方版本。

我决定更改 Yocto 使用的内核(作为学习练习)

在我在这个答案开头指出的配置文件中,您可以再添加一行

   PREFERRED_VERSION_linux-yocto = "4.1%"

添加这一行将使 bitbake 使用狭小的/meta/recipes-kernel/linux/linux-yocto_4.1.bb配方,即 qemux86 的 4.1 内核。

相关内容