Decidi alterar o Kernel usado pelo Yocto (como um exercício de aprendizagem), mas não sei onde o Kernel usado pelo Yocto está armazenado. Entendo que está armazenado em uma receita, mas não tenho ideia de em qual receita está armazenado. Alguém sabe? Estou literalmente digitando alguns comandos (listados abaixo). Fique à vontade para fazê-lo em suas máquinas.
$ 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
Responder1
não sei onde está armazenado o Kernel usado pelo Yocto.
O arquivo de configuração poky/meta/conf/machine/include/qemu.inc
possui as seguintes linhas
# Use a common kernel recipe for all QEMU machines
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
Isso direciona o bitbake para procurar receitas de kernel no caminhopoky/meta/receitas-kernel/linux/
Agora nesse caminho você notará duas receitas
- linux-yocto_4.1.bb
- linux-yocto_4.4.bb
Por design, o bitbake usarálinux-yocto_4.4.bb, ou seja, o kernel 4.4 será construído para a máquina qemux86. Isso porque o bitbake foi projetado para preferir a versão mais alta da receita.
Decidi mudar o Kernel que é usado pelo Yocto (como exercício de aprendizagem)
No arquivo de configuração que apontei no início desta resposta, você pode adicionar mais uma linha
PREFERRED_VERSION_linux-yocto = "4.1%"
Adicionar esta linha fará com que o bitbake usepoky/meta/recipes-kernel/linux/linux-yocto_4.1.bbreceita, ou seja, kernel 4.1 para qemux86.