切换内核时的本地修补程序存储库

时间:2018-09-15 23:02:05

标签: git linux-kernel

我是git的新手, 我的情况如下: 我在一个私人项目上为Linux内核制作了补丁。 我希望我的本地存储库保存这些补丁。不是整个内核。 我不是在谈论.patch文件,而是保存我实际上正在更改的文件。

因此,当我要将它们应用于其他内核时,只需将它们拉入第二个内核文件夹。

现在要解决的问题是: 我需要能够不时地切换基础树,或者,为了简化方案,我希望能够拉不同的树并将我的补丁存储库拉入其中。

但是实际的第二个内核是一个仓库,而我的补丁也是一个仓库。 因此,我无法将它们都合并在同一个文件夹中,同时仍具有两者的源代码控制。

有没有办法粘上仓库或告诉git一个是父级,一个是子级,它将自动合并并自动提取所有内容?

问候 大卫

1 个答案:

答案 0 :(得分:1)

  

有没有办法粘上仓库或告诉git一个是父级,一个是子级,它将自动合并并自动提取所有内容?

这基本上是git submodule的目的,但它们不会自动合并。子模块必须至少位于主存储库中的给定子目录中。

但是,如果您的Linux黑客不是要修补现有的官方文件,而是要编写一个可以由 insmod modprobe 加载的独特内核 module 。 em>,那么您根本不需要在内核树中进行开发。只需在将要进行所有开发的地方指定一个常规目录,然后从此处请求顶级linux makefile为您进行编译:

make -C /lib/modules/`uname -r`/build M=`pwd` modules