2009-09-12 9 views
10

Ich versuche, ein rootfs für ein x86-Ziel zu erstellen, das alles einfach genug ist. Ich kann jedoch nicht herausfinden, wie ich den Kernel konfiguriere, den buildroot erzeugt. Der erste Durchlauf kam mit menuconfig, aber seitdem ist die .config zwischengespeichert und ich kann nicht sehen, wo ich es ändern kann.Wie konfiguriere ich den Linux-Kernel in Buildroot?

~ 650 MB Kernel-Module nicht tun gute Dinge zu einem eingebetteten Ziel: P

Gibt es einen einfachen Weg, um den Kern in buildroot zu konfigurieren? Etwas wie das uclibc-menuconfig Ziel wäre perfekt.

+0

Dies besser beantwortet werden könnte, bei http://ServerFault.com/ oder http://SuperUser.com/ vielleicht. – mctylr

Antwort

2

Und die Antwort lautet:

make linux26-menuconfig 
29

ich immer folgende:

  1. configure Linux-Kernel: make linux-menuconfig
  2. Nach menuconfig Konfiguration verlassen wird in der Datei gespeichert werden: output/build/linux-XYZ/.config wo XYZ ist Ihre Kernel-Version.
  3. Danach können Sie Datei output/build/linux-*XYZ*/.config-board/your_kernel_config/.config
  4. später in Buildroot kopieren menuconfig Sie können unter Kernel-Einstellungen konfigurieren angepassten Kernel-Konfigurationsdatei verwenden, und geben Sie den Pfad: board/your_kernel_config/.config
+2

'make linux-xconfig' funktioniert auch. Es hat den zusätzlichen Vorteil, dass wenn Sie nach etwas suchen, Sie es im Suchfenster auswählen können, und es aktualisiert das Hauptfenster an den Speicherort des Elements. –

2

nicht auch zu setzen Vergessen defconfig zu i386 in menuconfig:

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

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES ist eine weitere gute Option.

Z. B. wenn Sie buildroot als Submodul verwenden, sieht die Verzeichnisstruktur wie:

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

Z.B. einzuschalten CONFIG_DEBUG_FS, tun:

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

und konfigurieren buildroot mit:

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

Auf diese Weise können Spur nur ein Diff zwischen qemu_x86_64_defconfig und Ihre persönlichen configs git kann.

Ich glaube, das verwendet scripts/kconfig/merge_config.sh die Kernel bilden, wie bei erwähnt: How do you non-interactively turn on features in a Linux kernel .config file?

Nachdem Sie das Config-Fragment zu ändern, genau das zu tun erinnern:

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

vor dem nächsten Build.

Minimal runnable Beispiel an: https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag