¿Cómo configuro el kernel de Linux dentro de Buildroot?
Pregunta
Estoy tratando de construir un rootfs para un objetivo x86, que es bastante simple. Sin embargo, no puedo entender cómo configuro el kernel que produce buildroot. La primera ejecución apareció con menuconfig, pero desde entonces está en caché .config y no puedo ver dónde cambiarlo.
~ 650MB de módulos de kernel no le hacen bien a un objetivo incrustado: P
¿Hay una manera fácil de configurar el núcleo dentro de buildroot? Algo como el uclibc-menuconfig
sería perfecto.
Solución 2
Y la respuesta es:
make linux26-menuconfig
Otros consejos
Siempre hago lo siguiente:
- configurar el kernel de Linux:
make linux-menuconfig
- Después de salir de menuconfig, su configuración se almacenará en el archivo:
output / build / linux-XYZ / .config
donde XYZ es su versión del núcleo. - Después de eso, puede copiar el archivo
output / build / linux- * XYZ * /. config
aboard/your_kernel_config/.config
- más adelante en Buildroot menuconfig puede configurar la configuración del kernel para usar el archivo de configuración del kernel personalizado e ingresar la ruta:
board/your_kernel_config/.config
No olvide configurar también defconfig en i386 en menuconfig:
Kernel —>
[*] Linux Kernel
(i386) Defconfig name
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
Agrega configuraciones adicionales a la existente.
Por ejemplo, si está utilizando buildroot
como un submódulo, el árbol de directorios se verá así:
.git/
buildroot/
.gitmodules
kernel-config-frag
Por ejemplo. para activar CONFIG_DEBUG_FS
, haga:
echo 'CONFIG_DEBUG_FS=y' > kernel-config-frag
y luego configure buildroot con:
cd buildroot
make qemu_x86_64_defconfig
echo 'BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES=../kernel-config-frag' >> buildroot/.config
make
De esta manera, puede hacer un seguimiento de la diferencia solo entre qemu_x86_64_defconfig
y sus configuraciones adicionales.
Creo que esto usa scripts / kconfig / merge_config.sh
forma el núcleo como se menciona en: ¿Cómo se activan de forma no interactiva las características en un archivo .config del kernel de Linux?
Después de cambiar el fragmento de configuración, solo recuerde hacer:
rm -rf buildroot/output/build/linux-*.*.*/
antes de la próxima compilación.
Ejemplo de ejecución mínima en: ¿Por qué cuándo? Cambio BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE y ejecuto make linux-reconfigure the kernel .config no cambia?
Los pasos son los siguientes:
cd buildroot /
make menuconfig
-
Kernel - > Kernel de Linux - > Versión del kernel