编译内核第一步是生成对应的.config文件,此文件中声明了哪些功能和特性需要开启。
命令中的“/boot”目录下的config文件名称仅为示例,实际的文件名称要通过uname -r命令确认,拷贝的config文件版本要与操作系统的内核版本保持一致。
1 | cp /boot/config-`uname -r` /usr/src/linux-kernel-5.15.98/.config |
1 2 | cd /usr/src/linux-kernel-5.15.98/ sudo make menuconfig |
在出现如图所示的内核配置界面中,如图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 |
Y |
<*> HiSilicon SoC PMU drivers |
CONFIG_HISI_PMU=y |
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 |
配置方法说明:
配置示例如下: