我有一组补丁文件,用于修补Linux 2.6.29内核以支持我的自定义功能。
我想知道是否可以使用相同的补丁文件来修补我的新内核(linux 2.6.32)以获得相同的功能。
谢谢&问候,
森
答案 0 :(得分:2)
补丁始终依赖于内核版本。补丁的适用程度取决于它的版本与应用版本的不同之处。在最好的情况下。
将有四种可能性:
文件,数据结构或API均未发生变化,文件也会干净利落。
数据结构和API没有更改,但修补区域的外部文件稍有更改。因此,补丁将起作用,并给你一些小错误,表明线路有点移动。
修补区域内的部分代码已更改,因此修补程序将不适用。您必须手动确定这些差异是什么,并可能手动应用补丁的该部分以使其适用。补丁将失败,并将保存显示被拒绝部分的“.rej”文件。
已对代码,数据结构或API进行了功能更改。因此,如果不了解底层代码的更改方式,并修改补丁以应用于新范例,您将无法移植补丁。当然,您可能不知道是这种情况,并且您可能有一个适用的补丁很好,但内核崩溃 - 所以要小心! ; - )
答案 1 :(得分:1)
这里没有确定的答案。它在很大程度上取决于补丁的内容和它接触的代码。如果它是新模块的添加,它可能会。获取内核的两个版本并区分相关代码片段以查看它们是否已经发生了很大变化。如果您的补丁是针对未更改的部分,那么您很幸运。
答案 2 :(得分:0)
当然,您可以使用新的Linux版本应用补丁。至少你可以(并且应该!)尝试这样做。如果你很幸运它可以工作......但它确实取决于补丁以及版本如何依赖它们。
菲利普