编译内核第一步是生成对应的.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 |
1 | 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 |
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 |
配置方法说明:
配置示例如下: