内核Kconfig详尽分析
Kconfig位于kernel源码内大部分的文件夹中,是一种特殊格式的文件,负责提供kernel各个功能的配置选项。
比如进行驱动移植等工作时,有时需要自己添加Kconfig中的一个配置项,从而将某个设备驱动添加到内核的配置项目中。
需要注意的是,Kconfig仅仅负责提供配置选项本身,而不提供各选项的值,关于kernel的配置和编译流程以及推荐阅读顺序请移步 [ ]。
- 我们以driver/net/目录下的Kconfig为例,分析其内部格式,以及与menuconfig的关系
- 首先打开menuconfig,进入 Device Drivers 菜单,里面的Network device support菜单对应的就是driver/net/目录下的Kconfig
由此可知,menuconfig里面菜单的层级关系,是与我们Kconfig所在的路径几乎相同的 - 再来看看Kconfig的内部,从第五行开始:
menuconfig NETDEVICES
default y if UML
depends on NET
bool "Network device support"</