Ändern Sie das von der qemux86-Maschine verwendete Kernel-Rezept

Ändern Sie das von der qemux86-Maschine verwendete Kernel-Rezept

Ich habe beschlossen, den von Yocto verwendeten Kernel zu ändern (als Lernübung), aber ich weiß nicht, wo der von Yocto verwendete Kernel gespeichert ist. Ich verstehe, dass er in einem Rezept gespeichert ist, aber ich habe keine Ahnung, in welchem ​​Rezept er gespeichert ist. Weiß das jemand? Ich tippe buchstäblich eine Handvoll Befehle ein (unten aufgeführt). Sie können das gerne auf Ihren Maschinen tun.

 $ 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

Antwort1

ich weiß nicht, wo der von Yocto verwendete Kernel gespeichert ist.

Die Konfigurationsdatei poky/meta/conf/machine/include/qemu.incenthält die folgenden Zeilen

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

Dies weist bitbake an, nach Kernel-Rezepten unter dem Pfad zu suchenpoky/meta/rezepte-kernel/linux/

Auf diesem Weg werden Sie zwei Rezepte bemerken

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

Bitbake verwendetlinux-yocto_4.4.bb, d. h., der Kernel 4.4 wird für die Maschine qemux86 erstellt. Das liegt daran, dass Bitbake so konzipiert ist, dass es die höchste Rezeptversion bevorzugt.

Ich habe beschlossen, den von Yocto verwendeten Kernel zu ändern (als Lernübung).

In der Konfigurationsdatei, auf die ich am Anfang dieser Antwort verwiesen habe, können Sie eine weitere Zeile hinzufügen

   PREFERRED_VERSION_linux-yocto = "4.1%"

Das Hinzufügen dieser Zeile bewirkt, dass bitbakepoky/meta/rezepte-kernel/linux/linux-yocto_4.1.bbRezept, also 4.1-Kernel für qemux86.

verwandte Informationen