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に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カーネルレシピです。

関連情報