2009-09-12 18 views
10

Sto provando a creare un rootfs per un target x86, che è tutto abbastanza semplice. Tuttavia non riesco a capire come configurare il kernel che produce buildroot. La prima esecuzione è arrivata con menuconfig, ma da allora è memorizzato nella cache .config e non riesco a vedere dove cambiarlo.Come configurare il kernel Linux in Buildroot?

~ 650MB di moduli del kernel non fare cose buone per un obiettivo incorporato: P

C'è un modo semplice per configurare il kernel all'interno buildroot? Qualcosa come il target uclibc-menuconfig sarebbe perfetto.

+0

Questo potrebbe essere meglio risolta a http://ServerFault.com/ o http://SuperUser.com/ forse. – mctylr

risposta

2

E la risposta è:

make linux26-menuconfig 
29

ho sempre effettuare le seguenti operazioni:

  1. configurare kernel Linux: make linux-menuconfig
  2. Dopo aver lasciato menuconfig la configurazione verrà memorizzato nel file: output/build/linux-XYZ/.config dove XYZ è la versione del tuo kernel.
  3. Dopo di che si può copiare il file output/build/linux-*XYZ*/.config-board/your_kernel_config/.config
  4. più avanti in Buildroot menuconfig è possibile in Impostazioni del kernel configurare per utilizzare file di configurazione del kernel personalizzato e immettere il percorso: board/your_kernel_config/.config
+2

'make linux-xconfig' funziona pure. Ha il vantaggio aggiuntivo che se si cerca qualcosa, è possibile selezionarlo nella finestra di ricerca e aggiorna la finestra principale alla posizione di quell'elemento. –

2

Non dimenticare di impostare anche defconfig a i386 in menuconfig:

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

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES è un'altra buona opzione.

ad esempio se si utilizza buildroot come un modulo, l'albero delle directory assomiglia:

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

Ad es per accendere CONFIG_DEBUG_FS, fare:

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

e quindi configurare buildroot con:

cd buildroot 
make qemu_x86_64_defconfig 
echo 'BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES=../kernel-config-frag' >> buildroot/.config 
make 

questo modo si può git pista solo un diff tra qemu_x86_64_defconfig e le vostre configurazioni aggiuntive.

Credo che questo utilizza scripts/kconfig/merge_config.sh formano il kernel come accennato: How do you non-interactively turn on features in a Linux kernel .config file?

Dopo aver modificato il frammento di configurazione, basta ricordarsi di fare:

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

prima della prossima generazione.

Minimal esempio eseguibile a: https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag

Problemi correlati