Изменить рецепт ядра, используемый машиной 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
0
19.06.2017, 20:53
1 ответ

i don't know where the Kernel which is used by Yocto is stored.

Файл конфигурации 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 разработан так, чтобы отдавать предпочтение самой высокой версии рецепта.

I've decide to change the Kernel which is used by Yocto (as a learning exercise)

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

   PREFERRED_VERSION_linux-yocto = "4.1%"

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

0
28.01.2020, 04:47

Теги

Похожие вопросы