应用增量Linux补丁

时间:2013-03-05 13:16:15

标签: linux kernel patch

我已经安装了Linux 3.7.7(稳定版)内核。 我的目标是应用所有可用的增量补丁,从3.7.7-8到....无论如何,以获得最新的稳定版本(3.8.2)。

我已成功下载并应用了3.7.7-8,3.7.8-9,3.7.9-10。 kernel.org上提供的下一个增量补丁是3.8.1-2。当我尝试应用3.8.1-2(超过最新安装的,即3.7.10)时,我发现了很少的“反转(或以前应用)补丁!”消息,虽然我应该像魅力一样应用。

我认为它发生的原因是没有应用3.8.0补丁。但是在kernel.org上没有3.8.0可用(无论是增量还是其他),所以我别无选择。

获得3.8.2的唯一方法是(通过将补丁应用到一些旧的稳定版本到最新版本)是下载3.8.1的整个稳定源(因为它是3.7.x之后的第一个也是唯一一个可用的) ),然后应用所有增量3.8.1.x补丁,直到我进入3.8.2版本。

它应该是这样工作还是实际上可以从2.6.x版本开始,并且通过应用所有增量补丁,他/她最终将获得最新的3.8.2(无论如何)版本?

除了修补之外别提出任何建议,我对这种教育方法感兴趣,当你得到你所能得到的东西时,我不会处于死亡或生活状态,只是为了生存。我只想知道它应该工作与否,也许(这是我第一次这样做)我做错了什么(!?)

1 个答案:

答案 0 :(得分:1)

Linux版本的工作原理如下:

.
.
.
|
3.5
|  \- 3.5.1 - 3.5.2 - 3.5.3 - ...
|
3.6
|  \- 3.6.1 - 3.6.2 - 3.6.3 - ...
|
3.7
|  \- 3.7.1 - 3.7.2 - 3.7.3 - ...
|
3.8
|  \- 3.8.1 - 3.8.2 - 3.8.3 - ...
|
.
.
.

这意味着从3.53.6,有一个补丁,该补丁不包含3.5.*补丁(即3.5.*不在{3.5之间1}}和3.6,但在一个单独的分支上)。实际上,torvalds Linux本身根本不识别3.*.*补丁。其他人将错误修复程序反向移植到较旧的内核,并且他们是制作这些补丁的人。

也就是说,例如,如果您有3.5.2并希望转到3.6,则首先需要反向应用3.5.23.5.1补丁,然后申请3.6补丁。

您获得反转(或之前应用)补丁的原因与我上面解释的完全相同。 3.73.8之间的某些更改已经通过后端端口错误修复补丁3.7.*应用(由您)。