Come configuro il kernel Linux in Buildroot?
Domanda
Sto cercando di creare un rootfs per un target x86, il che è abbastanza semplice. Comunque non riesco a capire come configuro il kernel che produce buildroot. La prima volta è venuto fuori con menuconfig, ma da allora ha memorizzato nella cache il .config e non riesco a vedere dove cambiarlo.
~ 650 MB di moduli del kernel non fanno cose buone per un target incorporato: P
Esiste un modo semplice per configurare il kernel all'interno di buildroot? Qualcosa come l'obiettivo uclibc-menuconfig
sarebbe perfetto.
Soluzione 2
E la risposta è:
make linux26-menuconfig
Altri suggerimenti
Faccio sempre quanto segue:
- configura il kernel Linux:
make linux-menuconfig
- Dopo aver lasciato menuconfig la tua configurazione sarà memorizzata nel file:
output / build / linux-XYZ / .config
dove XYZ è la tua versione del kernel. - Successivamente è possibile copiare il file
output / build / linux- * XYZ * /. config
suboard/your_kernel_config/.config
- in seguito in Buildroot menuconfig è possibile configurare le impostazioni del kernel per utilizzare il file di configurazione del kernel personalizzato e immettere il percorso:
board/your_kernel_config/.config
Non dimenticare di impostare anche defconfig su i386 in menuconfig:
Kernel —>
[*] Linux Kernel
(i386) Defconfig name
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
Aggiunge ulteriori configurazioni a quella esistente.
Ad esempio, se si utilizza buildroot
come sottomodulo, l'albero delle directory appare come:
.git/
buildroot/
.gitmodules
kernel-config-frag
es. per attivare CONFIG_DEBUG_FS
, eseguire:
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
In questo modo puoi tracciare solo una diff tra qemu_x86_64_defconfig
e le tue configurazioni extra.
Credo che questo usi script / kconfig / merge_config.sh
dal kernel come menzionato in: Come si attivano in modo non interattivo le funzionalità in un file .config del kernel Linux?
Dopo aver modificato il frammento di configurazione, ricordati di fare:
rm -rf buildroot/output/build/linux-*.*.*/
prima della prossima build.
Esempio di eseguibile minimo su: Perché quando Cambio BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE ed eseguo make linux-riconfigurare il kernel .config non cambia?
I passaggi sono i seguenti:
cd buildroot /
make menuconfig
-
Kernel - > Kernel Linux - > Versione del kernel