Wie konfiguriere ich den Linux-Kernel in Buildroot?
Frage
Ich versuche, ein rootfs für ein x86-Ziel zu bauen, die alle einfach genug ist. Allerdings kann ich nicht herausfinden, wie ich den Kernel zu konfigurieren, die buildroot erzeugt. Der erste Lauf kam durch mit menuconfig, aber es ist die .config seitdem im Cache gespeichert und ich kann nicht sehen, wo es zu ändern.
~ 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? So etwas wie das uclibc-menuconfig
Ziel wäre perfekt.
Lösung 2
Und die Antwort lautet:
make linux26-menuconfig
Andere Tipps
Ich habe immer wie folgt vor:
- konfigurieren Linux-Kernel:
make linux-menuconfig
- Nach dem Verlassen der Konfiguration menuconfig wird in der Datei gespeichert werden.
output/build/linux-XYZ/.config
wobei XYZ ist die Kernel-Version - Danach können Sie Datei
output/build/linux-*XYZ*/.config
kopierenboard/your_kernel_config/.config
- später in Buildroot menuconfig Sie unter Kernel-Einstellungen können konfigurieren angepassten Kernel-Konfigurationsdatei verwenden, und geben Sie den Pfad:
board/your_kernel_config/.config
Vergessen Sie nicht, auch auf i386 in menuconfig defconfig:
Kernel —>
[*] Linux Kernel
(i386) Defconfig name
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
Fügt zusätzliche configs zu Ihrem bestehenden.
. Z. B, wenn Sie buildroot
als Submodul verwenden, die Verzeichnisstruktur wie folgt aussieht:
.git/
buildroot/
.gitmodules
kernel-config-frag
z. einzuschalten CONFIG_DEBUG_FS
, tun:
echo 'CONFIG_DEBUG_FS=y' > kernel-config-frag
und konfiguriert 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 kann Spur nur ein Diff zwischen qemu_x86_64_defconfig
und Ihren persönlichen configs git kann.
Ich glaube, das verwendet scripts/kconfig/merge_config.sh
den Kernel zu bilden, wie erwähnt unter: Wie wollen Sie nicht interaktiv einschalten Funktionen in einem Linux-Kernel .config-Datei?
Nachdem Sie das Config-Fragment zu ändern, nur nicht vergessen, zu tun:
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
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
Wählt die volle .config
verwendet werden.
Aus irgendeinem Grund habe ich die .config
Kernel nuke müssen für diese Wirkung zu nehmen? Warum, wenn ich BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE ändern und laufen linux-recon der Kernel machen .CONFIG nicht ändert?
Die Schritte sind wie folgt:
-
cd buildroot/
-
make menuconfig
-
Kernel -> Linux Kernel -> Kernel-Version