Linux内核编译配置是如何确定的?

kal*_*cey 4 linux compiling kernel

我正在从源代码编译我的第一个内核 (3.5 rc1) 到menuconfig.

某些配置选项是预设的。

  • 谁/什么决定它们是否是预设的?
  • 是否以make menuconfig某种方式检测我的计算机及其设备和特征并生成它们?
  • 或者默认配置是否与源一起提供,由某人(谁将源放出)预先确定?

Ulr*_*gel 8

make menuconfig不会动态确定您的环境并尝试设置适当的配置,而是使用您的.config文件和kconfig 中的默认条目。

所以是的,默认值随源代码一起提供,并在kconfig文件中指定,这些文件还指定了帮助文本、依赖项和其他内容。查看示例 kconfig 文件,例如net/Kconfig

make localmodconfig另一方面,尝试根据加载的模块为您的系统创建定制的内核配置。它采用您当前的配置(通常来自您的发行版)并且只会启用加载的模块。