【发布时间】:2016-01-10 10:25:46
【问题描述】:
我正在开发一个 linux 内核模块并想跟踪我的内核 配置更改(例如启用其他模块、激活动态调试等)以供将来参考。
git add .config 感觉不对。
有更好的方法吗?
【问题讨论】:
标签: git linux-kernel config embedded-linux kernel-module
我正在开发一个 linux 内核模块并想跟踪我的内核 配置更改(例如启用其他模块、激活动态调试等)以供将来参考。
git add .config 感觉不对。
有更好的方法吗?
【问题讨论】:
标签: git linux-kernel config embedded-linux kernel-module
为您的板(硬件)添加新的 defconfig。
路径:arch/arm/configs/ 用于 ARM 架构。
您可以通过make menuconfig -> 保存添加新的。要应用您自己的配置,只需运行 make your_board_defconfig
【讨论】:
在 Git 下拥有 .config 是个坏主意,正如您正确提到的那样(基本上是因为它在 make distclean 之后消失了,所以这个解决方案不可生产)。此外,如果您的电路板已经有 defconfig 文件,则不应创建另一个文件,这可能被视为不好的做法。
请查看scripts/kconfig/merge_config.sh 脚本。您可以创建自己的配置文件,该文件仅包含对某些现有 defconfig 文件的更改,然后将此文件与您正在使用的一些基本 defconfig 文件合并。
以TI kernel branch 为例,他们只是用配置块和脚本创建另一个目录 (ti_config_fragments/) 以生成最终的.config 文件。
使用merge_config.sh 脚本的另一种方法是为您的架构修改Makefile,添加一些新规则以将您的配置片段合并到现有的.config 文件中,就像为arch/x86/Makefile 中的kvmconfig 规则所做的那样.
无论如何,主要想法是将您的配置增量保存在单独的文件中(在 arch/.../configs/ 的某个位置或全新的目录中),然后将您的配置片段与现有的 .config 文件合并(通常从一些 @987654338 生成@ 文件)。当然,您可以在 Git 下跟踪您的配置片段文件。
【讨论】:
defconfig 文件混淆也不是可生产的。那么为什么不坚持一些小的增量配置文件(“片段”),使用merge_config.sh 将其与原始defconfig 文件合并(以产生最终的.config)?