Git 如何跟踪linux内核配置更改?

Git 如何跟踪linux内核配置更改?,git,linux-kernel,config,embedded-linux,kernel-module,Git,Linux Kernel,Config,Embedded Linux,Kernel Module,我正在开发linux内核模块,希望跟踪我的内核 配置更改(例如启用其他模块、激活动态调试等),以供将来参考 git add.config感觉不对劲 有更好的方法吗?为主板(硬件)添加新的defconfig 路径:arch/arm/configs/for arm架构 您可以通过制作菜单配置->保存添加新菜单。要应用您自己的配置,只需运行使您的_board_defconfig在Git下使用.config是个坏主意,正如您正确提到的(基本上是因为它是在make distclean之后运行的,所以此解决

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

git add.config
感觉不对劲


有更好的方法吗?

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

路径:arch/arm/configs/for arm架构


您可以通过制作菜单配置->保存添加新菜单。要应用您自己的配置,只需运行
使您的_board_defconfig

在Git下使用
.config
是个坏主意,正如您正确提到的(基本上是因为它是在
make distclean
之后运行的,所以此解决方案不可生产)。此外,如果您已经为您的电路板创建了
defconfig
文件,则不应再创建另一个,这可能会被视为不良做法

相反,请看一下脚本。您可以创建自己的配置文件,其中只包含对某些现有defconfig文件的更改,然后将您的此文件与您正在使用的一些基本的
defconfig
文件合并

例如,他们正在创建另一个目录(
ti\u config\u fragments/
),其中包含配置块和脚本,以生成最终的
.config
文件

使用
merge\u config.sh
脚本的另一种方法是修改体系结构的
Makefile
,添加一些新规则将配置片段合并到现有的
.config
文件中,就像在中对
kvmconfig
规则所做的那样


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

首先,使用.config进行任何操作都不是一个好主意。因为一个好的实践是在自己的分支中开发,所以开发人员可以将对任何现有defconfig的更改保留为(一组)补丁。我们在内部共享存储库团队中就是这样做的。作为一个例子,您可能会看到是的,但如果您想将更改发送到上游,该怎么办?混用现有的
defconfig
文件也不可生产。所以为什么不坚持使用一些小的增量配置文件(“片段”),使用
merge_config.sh
将其与原始的
defconfig
文件合并(以便生成最终的
.config
)?只需要在添加新的板支持时发送到上游,对吗?在这种情况下,最好的方法是按照已经完成的方式进行:配置的任何部分(“增量”)或整个defconfig。我还遗漏了其他用例吗?您的板可以同时运行Android和GNU/Linux rootfs,这需要两个不同的defconfig文件。逻辑解决方案是有一个defconfig和两个不同的片段(对于Android和GNU/Linux)。另外,您可能希望为您的板运行调试配置,这是另一个片段。在这种情况下,保留3种不同的DEFConfig会很不方便,因为它们几乎相同。比如说。这正是问题作者的情况。谢谢,这正是我想要的。