Cambiar la receta del Kernel utilizada por la máquina qemux86

Cambiar la receta del Kernel utilizada por la máquina qemux86

He decidido cambiar el Kernel que usa Yocto (como ejercicio de aprendizaje) pero no sé dónde está almacenado el Kernel que usa Yocto. Entiendo que está almacenado en una receta, pero no tengo idea de en qué receta está almacenado. ¿Alguien lo sabe? Literalmente estoy escribiendo un puñado de comandos (enumerados a continuación). Siéntete libre de hacerlo en tus 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

Respuesta1

No sé dónde está almacenado el kernel que utiliza Yocto.

El archivo de configuración poky/meta/conf/machine/include/qemu.inctiene las siguientes líneas

   # Use a common kernel recipe for all QEMU machines
   PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"

Esto dirige a bitbake a buscar recetas del kernel en la ruta.poky/meta/recetas-kernel/linux/

Ahora en ese camino notarás dos recetas.

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

Por diseño, bitbake utilizarálinux-yocto_4.4.bb, es decir, se construirá el kernel 4.4 para la máquina qemux86. Esto se debe a que bitbake está diseñado para preferir la versión de receta más alta.

He decidido cambiar el Kernel que utiliza Yocto (como ejercicio de aprendizaje)

En el archivo de configuración que señalé al principio de esta respuesta, puedes agregar una línea más

   PREFERRED_VERSION_linux-yocto = "4.1%"

Agregar esta línea hará que bitbake se usepoky/meta/recipes-kernel/linux/linux-yocto_4.1.bbreceta, es decir, kernel 4.1 para qemux86.

información relacionada