1. Rockchip SDK内核配置概述
在嵌入式Linux开发中,内核配置是项目开发的关键环节。Rockchip SDK为开发者提供了两种主要的内核配置方式:一种是直接在内核源码目录使用原生的make menuconfig命令,另一种是通过SDK封装的./build.sh kernel-config命令。这两种方式在操作流程和实际效果上存在显著差异。
重要提示:对于Rockchip平台开发,强烈建议使用SDK封装的./build.sh kernel-config命令进行配置,这能避免因环境变量设置不当导致的配置错误。
内核配置的核心在于正确处理.config与defconfig文件的关系。.config是内核编译时实际使用的配置文件,而defconfig是默认的配置模板。每次执行内核编译时,系统都会根据defconfig重新生成.config文件。如果直接修改.config而不更新defconfig,这些修改在下一次编译时会被覆盖。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 两种配置方式深度对比
2.1 SDK封装命令 vs 原生命令
下表详细对比了两种配置方式的差异:
| 对比维度 | ./build.sh kernel-config (SDK封装命令) | 直接make menuconfig (原生内核命令) |
|---|---|---|
| 工作环境 | SDK全局环境,自动设置交叉编译链、架构(ARCH=arm64)、源码路径等 | 需要在内核源码目录手动设置环境变量(ARCH, CROSS_COMPILE等) |
| 配置目标 | 直接修改SDK指定的板级defconfig文件 | 默认只修改内核源码根目录下的临时.config文件 |
| 保存方式 | 自动保存到板级defconfig,修改永久生效 | 不会自动保存到defconfig,需要手动操作 |
| 主要用途 | 产品开发、固化配置 | 内核开发者调试、临时测试功能选项 |
2.2 配置保存机制解析
当使用原生make menuconfig命令时,修改只会保存在.config文件中。而Rockchip SDK的编译脚本设计会在每次编译
