【奔跑吧!Linux 内核(第二版)】第4章:内核编译和调试
笨叔 陈悦. 奔跑吧 Linux 内核(第2版) [M]. 北京: 人民邮电出版社, 2020.
文章目录
- 内核配置
- .config 配置文件
内核配置
.config 配置文件
make config
、make oldconfig
、make menuconfig
等配置工具最终会在 Linux 内核源代码的根目录下生成一个隐藏文件 —— .config 文件,这个文件包含了内核的所有配置信息。
.config 文件的每个配置选项都以 “CONFIG_” 开头,后面的 y 表示内核会把这个特性静态编译进内核,m 表示这个特性会被编译成内核模块。如果不需要编译到内核中,就要在前面用“#”进行注释,并在后面用 “is not set” 进行标识。
在实际项目中,如何生成该 .config 文件?
- 使用板级的配置文件
一些芯片公司通常会提供基于某款 SoC 的开发板,读者可以基于此开发板快速开发产品原型。芯片公司同时会提供板级开发板包,其中包含移植好的 Linux 内核。以 ARM 公司的 Vexpress 板子为例,该板子对应的 Linux 内核的配置文件存放在 arch/arm/configs 目录中(vexpress_defconfig)。