2009-09-12 20 views
10

Próbuję zbudować rootfs dla celu x86, co jest dość proste. Nie mogę jednak dowiedzieć się, jak skonfigurować jądro, które produkuje buildroot. W pierwszej próbie pojawiła się menuconfig, ale od tego czasu jest zbuforowana .config i nie widzę, gdzie to zmienić.Jak skonfigurować jądro Linux w Buildroot?

~ 650MB modułów jądra nie robią dobre rzeczy do osadzonego cel: P

Czy istnieje prosty sposób skonfigurować jądro w buildroot? Coś takiego jak cel uclibc-menuconfig byłoby idealne.

+0

To może być lepiej odpowiedziało na http://ServerFault.com/ lub http://SuperUser.com/ może. – mctylr

Odpowiedz

2

A odpowiedź brzmi:

make linux26-menuconfig 
29

Zawsze należy wykonać następujące czynności:

  1. konfiguracyjny Linux Kernel: make linux-menuconfig
  2. po opuszczeniu menuconfig konfiguracji zostaną zapisane w pliku: output/build/linux-XYZ/.config gdzie XYZ to Twoja wersja jądra.
  3. Po tym można skopiować pliku output/build/linux-*XYZ*/.config do board/your_kernel_config/.config
  4. później w buildroot menuconfig można w ustawieniach jądra skonfigurować użycie niestandardowych jądra plik konfiguracyjny i wprowadź ścieżkę: board/your_kernel_config/.config
+2

'make linux-xconfig' działa również. Dodatkową korzyścią jest to, że jeśli czegoś szukasz, możesz wybrać je w oknie wyszukiwania i aktualizuje główne okno do lokalizacji tego elementu. –

2

Nie zapomnij również ustawić defconfig do i386 w menuconfig:

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

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES jest kolejnym dobrym rozwiązaniem.

przykład jeśli używasz buildroot jako modułem, drzewo katalogów wygląda następująco:

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

Np aby włączyć CONFIG_DEBUG_FS, zrobić:

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

a następnie skonfigurować buildroot z:

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

ten sposób można git sportowa diff między qemu_x86_64_defconfig i Twoich dodatkowych configs.

Wierzę, że ta wykorzystuje scripts/kconfig/merge_config.sh tworzą jądro jak wspomniano na stronie: How do you non-interactively turn on features in a Linux kernel .config file?

Po zmianie fragment config, ale należy pamiętać, aby zrobić:

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

przed następnym kompilacji.

Minimal runnable na przykład: https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag

Powiązane problemy