如何在Buildroot中configurationLinux内核?

我正在尝试为x86目标构build一个rootfs,这足够简单。 但是我不知道如何configurationbuildroot生成的内核。 第一次运行通过了menuconfig,但是从那以后caching了.config,我看不到在哪里改变它。

〜650MB的内核模块对embedded式目标没有好处:P

有一种简单的方法来configurationbuildroot内核? 像uclibc-menuconfig目标是完美的。

我总是这样做:

  1. 配置Linux内核: make linux-menuconfig
  2. 离开menuconfig之后,你的配置将被存储在file: 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

答案是:

 make linux26-menuconfig 

不要忘记在menuconfig中设置defconfig到i386:

  coreel —> [*] Linux coreel (i386) Defconfig name 

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 

这样你就可以跟踪qemu_x86_64_defconfig和你额外的配置之间的差异。

我相信这使用从内核的scripts/kconfig/merge_config.sh如上所述: 你如何非交互地打开Linux内核.config文件中的功能?

在更改配置片段后,只要记住要做:

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

在下一次构建之前。

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