Изменить рецепт ядра, используемый машиной 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 на необходимость поиска рецептов ядра в путиpoky/meta/recipes-kernel/linux/

Теперь на этом пути вы увидите два рецепта

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

По замыслу bitbake будет использоватьlinux-yocto_4.4.bb, то есть, ядро ​​4.4 будет собрано для машины qemux86. Это потому, что bitbake разработан так, чтобы предпочитать самую высокую версию рецепта.

Я решил изменить ядро, которое использует Yocto (в качестве учебного упражнения)

В файле конфигурации, который я указал в начале этого ответа, вы можете добавить еще одну строку

   PREFERRED_VERSION_linux-yocto = "4.1%"

Добавление этой строки заставит bitbake использоватьpoky/meta/recipes-kernel/linux/linux-yocto_4.1.bbрецепт, т.е. ядро ​​4.1 для qemux86.

Связанный контент