生成并配置.config文件
编译内核第一步是生成对应的.config文件,此文件中声明了哪些功能和特性需要开启。
- 拷贝“/boot”目录下的config文件到源码目录,并重命名为.config。
命令中的“/boot”目录下的config文件名称仅为示例,实际的文件名称要通过uname -r命令确认,拷贝的config文件版本要与操作系统的内核版本保持一致。
若“/boot”目录下不存在config-`uname -r`文件,可以将Kbox-AOSP11.zip压缩包“patchForKernel/openEuler_22.03/kernel_5.10.0-153.12.0”目录下的config-5.10.0-153.12.0.75.oe2203sp2.aarch64文件拷贝至服务器的Kernel源码目录,并重命名为.config。
1
cp /boot/config-`uname -r` /usr/src/kernels/kernel-5.10.0-153.12.0/.config
- 生成.config文件。
1
make menuconfig
- 执行命令后,在出现的界面中选择“Load”,如图所示。
- 出现如图所示的界面时,选择“OK”。
- 配置内核编译选项。
在出现如图所示的内核配置界面中,如图1所示,进行内核编译选项的配置,具体配置项如表1所示。
表1 内核编译选项配置说明 配置项
配置要求
配置结果对照
.config中显示的配置结果
STAGING
Y
[*] Staging drivers
CONFIG_STAGING=y
ANDROID
Y
[*] Android Drivers
CONFIG_ANDROID=y
ASHMEM
Y
[*] Enable the Anonymous Shared Memory Subsystem
CONFIG_ASHMEM=y
ANDROID_BINDER_IPC
Y
[*] Android Binder IPC Driver
CONFIG_ANDROID_BINDER_IPC=y
ANDROID_BINDERFS
Y
[*] Android Binderfs filesystem
CONFIG_ANDROID_BINDERFS=y
ANDROID_ALARM
Y
<*> Android Alarm Driver
CONFIG_ANDROID_ALARM=y
ANON_VMA_NAME
Y
[*] Anonymous VMA name support
CONFIG_ANON_VMA_NAME=y
EXAGEAR_BT
Y
[*] Exagear binary translator support
CONFIG_EXAGEAR_BT=y
VFAT_FS
Y
<*> VFAT (Windows-95) fs support
CONFIG_VFAT_FS=y
INPUT_UINPUT
Y
<*> User level driver support
CONFIG_INPUT_UINPUT=y
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>。
配置示例如下:
- 完成配置后,在内核配置首页选择,选择“Save”。
- 出现如图所示的界面时,选择“Ok”。
- 出现如图所示的界面时,选择“Exit”。
- 执行完上述操作,进入如图所示的初始界面,选择“Exit”,当前文件夹下即可生成.config文件。