2009-09-12 192 views
10

我想爲x86目標構建一個rootfs,這足夠簡單。但是我不知道如何配置buildroot生成的內核。第一次運行通過菜單配置,但是自那時起緩存了.config,我看不到要更改它的位置。如何在Buildroot中配置Linux內核?

〜內核模塊的650MB不要做的好東西到嵌入式目標:P

有一種簡單的方法來配置的buildroot內的內核?像uclibc-menuconfig目標將是完美的。

+0

這可能是更好的http://ServerFault.com/或http://SuperUser.com/回答也許。 – mctylr 2010-02-20 06:01:27

回答

2

答案是:

make linux26-menuconfig 
29

我始終做到以下幾點:

  1. 配置Linux內核:make linux-menuconfig
  2. 離開menuconfig的配置後,將存儲在文件:output/build/linux-XYZ/.config其中XYZ是您的內核版本。
  3. 之後,你可以文件output/build/linux-*XYZ*/.config複製到board/your_kernel_config/.config
  4. 在Buildroot裏面以後menuconfig這你可以在內核配置設置來使用定製的內核配置文件,然後輸入路徑:board/your_kernel_config/.config
+2

'make linux-xconfig'也可以。它還有一個額外的好處,即如果您搜索某些內容,則可以在搜索窗口中選擇它,並將主窗口更新爲該項目的位置。 – 2012-04-29 14:34:00

2

不要忘了還要設置defconfig到I386在menuconfig的:

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

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES是另一個不錯的選擇。

例如,如果您使用buildroot作爲一個子模塊,目錄樹的樣子:

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

例如打開CONFIG_DEBUG_FS,做到:

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

,然後配置與buildroot的:

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

這樣你就可以跟蹤的git只qemu_x86_64_defconfig和你的額外CONFIGS之間的差異。

我相信這個使用scripts/kconfig/merge_config.sh形成內核在提到:How do you non-interactively turn on features in a Linux kernel .config file?

後您更改配置片段,只記得做:

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

未來建設之前。

最小的可運行的例子在:https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag