本章内容是为后续介绍内容做一个铺垫,主要是帮助大家快速了解kernel config的内容和含义;需要大家了解常用config的选项,以及kernel编译构建时的配置过程。
1 menuconfig
在Linux kernel编译过程中,有一个系统的配置文件,用来指定哪些模块需要被编译进内核,哪些模块不需要用到,这个配置文件可以在顶层通过make menuconfig进行配置,如下:
成功运行后会弹出文本选项终端:
当我们选择好所有选项并且保存后,会生成一个配置文件,这时候编译kernel,就会根据config文件来决定什么模块编译进去。
2 选项类型
在menuconfig配置选项的前面可以看到 [ ]、< >、{ }、( )这几种表示方式,选中表示需要编译到内核中:
[ ] 有两种状态:* 代表选中,空代表未选中:
< > 有三种状态:* 代表选中,空代表未选中,M代表模块;该选项和[ ]的区别在于可以把模块编译成ko模块进行动态加载:
{