当前位置:嗨网首页>书籍在线阅读

01-内核配置

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

附录D 内核配置

Linux内核的很多特性是可以通过组件来配置的。在编译内核之前可以禁用或启用这些组件,或者在很多情况下也可以启用成可加载的内核模块。禁用不需要的组件的一个原因是可以减小内核二进制文件的大小,从而节省内存。将一个组件启用成可加载的模块意味着只有在运行时需要用到该组件时才会将其加载到内存中。这种做法也能够节省内存。

内核配置是通过在内核源代码树的根目录下执行一些不同的 make 命令来完成的,如make menuconfig提供了一个易用性较差的配置菜单,而make xconfig则提供了一个易用性较好的图形配置菜单。这些命令会在内核源代码树的根目录下产生一个.config文件,在内核编译阶段会用到这个文件。这个文件包含了所有配置选项的设置。

每一个被启用的选项值在.config文件中占用一行,其形式如下。

1710.png 如果一个选项没有被设置,那么文件中会包含形如下面这样的一行。

1711.png 在.config文件中以#号打头的行是注释。

在本书中介绍内核选项时并没有精确地描述在menuconfig或xconfig菜单的哪个地方可以找到这些选项。之所以这样做有几个原因。

  • 通过浏览菜单层级通常可以很直观地确定选项所处的位置。
  • 配置选项所处的位置会随着时间的流逝而改变,就像不同版本的内核会对菜单层级进行重构一样。
  • 当无法在菜单层级中找到某一个特定的选项时,还可以使用make menuconfig和make xconfig提供的搜索工具。如可以通过搜索字符串CONFIG_INOTIFY来找出配置inotify API支持的选项。

用于构建当前运行的内核的配置选项可以通过/proc/config.gz虚拟文件查看,该文件是一个压缩文件,其内容与用于构建内核的.config文件中的内容是一样的。使用zcat(1)可以查看这个文件,使用zgrep(1)则可以搜索这个文件中的内容。