2009-09-12 100 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