我决定更改 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 内核。