---
title: 生成并配置.config文件
description: "编译内核第一步是生成对应的.config文件，此文件中声明了哪些功能和特性需要开启。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/armnative/kunpengcpskbox_20_0071.html
sourcePath: /source/zh/kunpengboostkithistory/2300/armnative/kunpengcpskbox_20_0071.html
indexId: d268d4d4bfee859bcd88347098be1a923f4e281e5da9845dceb173bdec2d6eb676
---
# 生成并配置.config文件

编译内核第一步是生成对应的.config文件，此文件中声明了哪些功能和特性需要开启。

1. 拷贝“/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

2. 生成.config文件。
  1 make menuconfig

3. 执行命令后，在出现的界面中选择“Load”，如图所示。
4. 出现如图所示的界面时，选择“OK”。
5. 配置内核编译选项。
在出现如图所示的内核配置界面中，如图1所示，进行内核编译选项的配置，具体配置项如表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>。


配置示例如下：

  a. 在配置界面，按 </>键打开搜索，输入“STAGING”，按回车进行确认，出现下图的搜索结果。
  b. 确认配置项的编号，如图中的“（1）”，按数字1进行选择。
  c. 按<y>键将选中项调整为编译进内核，然后使用左右键导航到<Exit>，按<Enter>确认返回。
  d. 返回到内核配置首页，进行下一项的配置。
6. 完成配置后，在内核配置首页选择，选择“Save”。
7. 出现如图所示的界面时，选择“Ok”。
8. 出现如图所示的界面时，选择“Exit”。
9. 执行完上述操作，进入如图所示的初始界面，选择“Exit”，当前文件夹下即可生成.config文件。
