生成并配置.config文件
生成.config文件并进行内核编译选项的配置,此文件中声明了哪些功能和特性需要开启。
- 拷贝“/boot”目录下的config文件到源码目录,并重命名为.config。
- 命令中的“/boot”目录下的config文件名称仅为示例,实际的文件名称要通过uname -r命令确认,拷贝的config文件版本要与操作系统的内核版本保持一致。
- 若“/boot”目录下不存在config-`uname -r`文件,可以将“/boot”目录下的任意一个config-前缀的文件拷贝至服务器的Kernel源码目录,并重命名为.config。
1
cp /boot/config-`uname -r` /usr/src/kernels/kernel-5.10.0-136.12.0/.config
- 生成.config文件。
1 2
cd /usr/src/kernels/kernel-5.10.0-136.12.0/ make menuconfig
- 执行命令后,在出现的界面中选择“Load”,如图所示。
- 出现如图所示的界面时,选择“OK”。
- 配置内核编译选项。
在出现如图所示的内核配置界面中,如图1所示,进行内核编译选项的配置,具体配置项如表1所示。
表1 内核编译选项配置说明 配置项
配置要求
配置结果对照
.config中显示的配置结果
KBOX
Y
[*] Kernel support for Kbox
CONFIG_KBOX=y
ANDROID_BINDER_DEVICES
binder,hwbinder,vndbinder
(binder,hwbinder,vndbinder) Android Binder devices
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
HISI_PMU
M
<M> HiSilicon SoC PMU drivers
CONFIG_HISI_PMU=m
SYSTEM_TRUSTED_KEYS
清空内容
( ) Additional X.509 keys for default system keyring
CONFIG_SYSTEM_TRUSTED_KEYS=""
DEBUG_INFO
N
[ ] Compile the kernel with debug info
# CONFIG_DEBUG_INFO is not set
PID_RESERVE
N
[ ] Support for reserve pid
# CONFIG_PID_RESERVE is not set
PSI_DEFAULT_DISABLED
N
[ ] Require boot parameter to enable pressure stall information tracking
# CONFIG_PSI_DEFAULT_DISABLED is not set
配置方法说明:
- 键盘的上下左右键进行菜单导航。
- “Enter”键选择子菜单或编辑选中项内容。
- 连按2次“Esc”退出。
- “/”用于搜索。
- “Y”将选中项编译进内核,对应项显示为:[*]。
- “N”将选中项排除,对应项显示为:[]。
- “M”键将选中的项编译成模块(编译成ko的形式),对应项显示为:<M>。
配置示例如下:
- 在配置界面,按“/”键打开搜索,输入“STAGING”,按回车进行确认,出现下图的搜索结果。
- 确认配置项的编号,如图中的“(1)”,按数字“1”进行选择。
- 按“y”键将选中项调整为编译进内核,然后使用左右键导航到 ,按“<Enter>”确认返回。
- 返回到内核配置首页,进行下一项的配置。
- 完成配置后,在内核配置首页选择,选择 。
- 出现如图所示的界面时,选择 。
- 出现如图所示的界面时,选择 。
- 执行完上述操作,进入如图所示的初始界面,选择 ,当前文件夹下即可生成.config文件。