Alterar a receita do Kernel usada pela máquina qemux86

Alterar a receita do Kernel usada pela máquina qemux86

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.incpossui 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.

informação relacionada