如何跟踪 linux 内核配置更改?
How to track linux kernel configuration changes?
我正在开发 linux 内核模块,想跟踪我的内核
配置更改(例如启用其他模块、激活动态调试等)以供将来参考。
git add .config
感觉不对。
有更好的方法吗?
为您的开发板(硬件)添加新的 defconfig。
路径:arch/arm/configs/ 用于 ARM 架构。
您可以通过 make menuconfig -> Save 添加新的。要应用您自己的配置,只需 运行 make your_board_defconfig
.config
在 Git 下是个坏主意,正如您正确提到的那样(主要是因为它在 make distclean
之后消失了,所以这个解决方案不可生产)。另外,如果您已经有 defconfig
文件用于您的电路板,您不应该再创建一个,这可能被认为是不好的做法。
而是查看 scripts/kconfig/merge_config.sh 脚本。您可以创建自己的配置文件,它只包含对某些现有 defconfig 文件的更改,然后将您的这个文件与您正在使用的一些基本 defconfig
文件合并。
例如,查看 TI kernel branch,他们只是创建另一个目录 (ti_config_fragments/
),其中包含配置块和脚本以生成最终的 .config
文件。
另一种使用 merge_config.sh
脚本的方法是为您的体系结构修改 Makefile
,添加一些新规则以将您的配置片段合并到现有的 .config
文件中,就像为kvmconfig
规则在 arch/x86/Makefile.
无论如何,主要思想是将您的配置增量保存在单独的文件中(在 arch/.../configs/
中的某处或在全新的目录中),然后将您的配置片段与现有的 .config
文件(即通常从一些 defconfig
文件生成)。当然,您可以在 Git.
下跟踪您的配置片段文件
我正在开发 linux 内核模块,想跟踪我的内核 配置更改(例如启用其他模块、激活动态调试等)以供将来参考。
git add .config
感觉不对。
有更好的方法吗?
为您的开发板(硬件)添加新的 defconfig。
路径:arch/arm/configs/ 用于 ARM 架构。
您可以通过 make menuconfig -> Save 添加新的。要应用您自己的配置,只需 运行 make your_board_defconfig
.config
在 Git 下是个坏主意,正如您正确提到的那样(主要是因为它在 make distclean
之后消失了,所以这个解决方案不可生产)。另外,如果您已经有 defconfig
文件用于您的电路板,您不应该再创建一个,这可能被认为是不好的做法。
而是查看 scripts/kconfig/merge_config.sh 脚本。您可以创建自己的配置文件,它只包含对某些现有 defconfig 文件的更改,然后将您的这个文件与您正在使用的一些基本 defconfig
文件合并。
例如,查看 TI kernel branch,他们只是创建另一个目录 (ti_config_fragments/
),其中包含配置块和脚本以生成最终的 .config
文件。
另一种使用 merge_config.sh
脚本的方法是为您的体系结构修改 Makefile
,添加一些新规则以将您的配置片段合并到现有的 .config
文件中,就像为kvmconfig
规则在 arch/x86/Makefile.
无论如何,主要思想是将您的配置增量保存在单独的文件中(在 arch/.../configs/
中的某处或在全新的目录中),然后将您的配置片段与现有的 .config
文件(即通常从一些 defconfig
文件生成)。当然,您可以在 Git.