2009-09-12 12 views
10

Estoy intentando construir un rootfs para un objetivo x86, lo cual es bastante simple. Sin embargo, no puedo entender cómo configuro el núcleo que buildroot produce. La primera ejecución llegó con menuconfig, pero está en caché el .config desde entonces y no puedo ver dónde cambiarlo.¿Cómo configuro el kernel de Linux dentro de Buildroot?

~ 650 MB de módulos del núcleo no hacen cosas buenas para un objetivo incorporado: P

¿Hay una manera fácil de configurar el kernel dentro buildroot? Algo así como el objetivo uclibc-menuconfig sería perfecto.

+0

Esto podría ser mejor contestada en http://ServerFault.com/ o http://SuperUser.com/ tal vez. – mctylr

Respuesta

2

Y la respuesta es:

make linux26-menuconfig 
29

Siempre hacer lo siguiente:

  1. configuran el núcleo de Linux: make linux-menuconfig
  2. Después de dejar menuconfig la configuración será almacenada en el archivo: output/build/linux-XYZ/.config donde XYZ es su versión de kernel.
  3. Después de que se puede copiar el archivo output/build/linux-*XYZ*/.config a board/your_kernel_config/.config
  4. más tarde en Buildroot menuconfig que pueda en la configuración del kernel configurar para utilizar el archivo de configuración personalizada núcleo e introducir ruta: board/your_kernel_config/.config
+2

'make linux-xconfig' funciona también. Tiene el beneficio adicional de que si busca algo, puede seleccionarlo en la ventana de búsqueda y actualiza la ventana principal a la ubicación de ese elemento. –

2

No se olvide de establecer también defconfig a i386 en menuconfig:

Kernel —> 
    [*] Linux Kernel 
    (i386) Defconfig name 
0

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES es otra buena opción.

por ejemplo, si está utilizando buildroot como un submódulo, el árbol de directorios se parece a:

.git/ 
buildroot/ 
.gitmodules 
kernel-config-frag 

P. ej para encender CONFIG_DEBUG_FS, hacer:

echo 'CONFIG_DEBUG_FS=y' > kernel-config-frag 

y luego configurar 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 GIT pista justo un diff entre qemu_x86_64_defconfig y sus configuraciones adicionales.

Creo que esta utiliza scripts/kconfig/merge_config.sh forman el núcleo como se ha mencionado en: How do you non-interactively turn on features in a Linux kernel .config file?

Después de cambiar el fragmento de configuración, sólo recuerda que hacer:

rm -rf buildroot/output/build/linux-*.*.*/ 

antes de la próxima generación.

ejemplo Mínimo ejecutable en: https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag

Cuestiones relacionadas