如何跟踪linux内核配置的变化



我正在开发一个linux内核模块,想要跟踪我的内核配置更改(例如:启用其他模块,激活动态调试等)以供将来参考。

git add .config感觉不对。

有更好的方法吗?

.config置于Git下是坏主意,正如您正确提到的那样(基本上是因为它在make distclean之后,所以这个解决方案是不可生产的)。此外,如果您已经有defconfig文件为您的板,你不应该创建另一个,它可能被认为是不好的做法。

请查看scripts/kconfig/merge_config.sh脚本。你可以创建你自己的配置文件,它只包含一些现有的defconfig文件的更改,然后将你的这个文件与你正在使用的一些基本的defconfig文件合并。

以TI内核分支为例,他们只是用配置块和脚本创建另一个目录(ti_config_fragments/)来生成最终的.config文件。

另一种使用merge_config.sh脚本的方法是修改Makefile的架构,添加一些新的规则来合并你的配置片段到已经存在的.config文件,就像在arch/x86/Makefile中为kvmconfig规则所做的那样。

无论如何,主要思想是保持你的配置增量在单独的文件(某处在arch/.../configs/或在全新的目录),然后合并你的配置片段与现有的.config文件(这通常是从一些defconfig文件生成的)。当然你也可以在Git下跟踪你的配置片段文件

为您的主板(硬件)添加新的defconfig。

PATH: arch/arm/configs/for arm架构。

您可以通过make menuconfig -> Save添加新的菜单。要应用自己的配置,只需运行make your_board_defconfig

最新更新