1.内核配置命令make menuconfig
在内核源码根目录下,执行命令make menuconfig。终端打印log信息,并生成图形化配置菜单界面。打印信息如下:
$ make menuconfig
scripts/kconfig/mconf Kconfig
arch/arm/Kconfig通过source命令包含各级子目录下的Kconfig文件,mconf解析该树形结构Kconfig文件,生成树形结构的图形化配置界面菜单。
2.Kconfig语法
1)关键字
source:内核源码目录树中每一个Kconfig都会用source引入其所有子目录下的Kconfig,从而保证了所有的Kconfig项目都被包含进menuconfig中。
tristate:意思是三态(3种状态,对应Y、N、M三种选择方式),意思就是这个配置项可以被三种选择。
bool:是要么真要么假(对应Y和N)。意思是这个配置项只能被2种选择。
depends:意思是本配置项依赖于另一个配置项。如果那个依赖的配置项为Y或者M,则本配置项才有意义;如果依赖的哪个配置项本身被设置为N,则本配置项根本没有意义。depends项会导致make menuconfig的时候找不到一些配置项。所以在menuconfig中如果找不到一个选项,但是这个选项在Kconfig中却是有的,则可能的原因就是这个配置项依赖的一个配置项是不成立的。depends依赖的配置项可以是多个,还可以有逻辑运算。这种时候只要依赖项目运算式子的结果为真则依赖就成立。
select:表示depends on的值有效时,下面的select也会成立,将相应的内容选上。
default:表示depends on的值有效时,下