(学習練習で)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にpathの下でカーネルレシピを見つけるように指示します。窮屈/メタ/レシピ-カーネル/Linux/
今、私はその方法で2つのレシピを見つけるでしょう。
- Linux-yocto_4.1.bb
- Linux-yocto_4.4.bb
設計上、bitbakeは以下を使用します。Linux-yocto_4.4.bb、4.4カーネルはすぐにqemux86マシン用に構築される予定です。これは、bitbakeが最高のレシピバージョンを好むように設計されているためです。
私はYoctoで使用するカーネルを変更することにしました(学習練習で)
この回答の冒頭で指摘した設定ファイルに1行を追加できます
PREFERRED_VERSION_linux-yocto = "4.1%"
この行を追加すると、bitbakeが使用されます。狭い/meta/recipes-kernel/linux/linux-yocto_4.1.bbqemux86の4.1カーネルレシピです。