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.inc
tiene 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.