Я решил изменить ядро, которое используется 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.