给内核打补丁

原来给内核打过补丁,都是跟着网上找来的资料一步一步做,结果今天打2.6.32.9的补丁出了问题。现在把学到的东西写下来,供大家参考。

我都是从kernel.org下载内核的。

首先要明白内核发布一次稳定版,同时发布两个补丁的,一个是patch-2.6.x.y.bz2,一个是patch-2.6.x.y1-y2.bz2。

其中patch-2.6.x.y.bz2 通过点击“[Patch]“直接下载,或者点击”[View Patch]“,进入新的页面,然后点击上面的“/pub/linux/kernel/v2.6/patch-2.6.x.y.bz2“获得。
这个补丁是用于从 2.6.x-1 到 2.6.x.y 的升级,如 2.6.31 到2.6.32.9,是跨次版本(同为2.6内核)的升级。属于较重大升级(我自己的理解)。
在 linux-2.6.31 目录下,patch -p1 < patch-2.6.32.9。(我不知道能不能用于2.6.31.12,没作实验,希望谁能补充一下。 )
这个不能用于同为 2.6.x.x 的内核。也就是说 patch-2.6.32.9 不能用于 2.6.32.8的源码,否则会得到“Reversed (or previously applied) patch detected!  Assume -R? [n]“错误信息。(我就是不明所以,结果浪费了时间)
如果实在想在2.6.32.8里面用patch-2.6.32.9,那你要有patch-2.6.32.8。首先,在 linux-2.6.32.8 目录下运行 patch -p1 -R < patch-2.6.32.8,把源码转为 2.6.31,然后再 patch -p1 < patch-2.6.32.9 打新补丁。

上面的有点罗嗦,可以使用下面的直接从2.6.32.8升级到2.6.32.9。

patch-2.6.x.y1-y2.bz2通过点击“[View Inc.] ”进入新页面,然后点击“/pub/linux/kernel/v2.6/incr/patch-2.6.x.y1-y2.bz2“获得。
以从2.6.32.8升级到2.6.32.9为例,
在 linux-2.6.32.8 目录下,直接 patch -p1 < patch-2.6.32.9,然后把 linux-2.6.32.8 目录改为 linux-2.6.32.9。

可以参考  http://www.diybl.com/course/6_sy ... 2008826/137710.html ,里面说的比这个详细,我就是从中学来的。
=========================================================================================

今天有2.6.33的内核放出,下载了patch,可以确定,不能直接用于2.6.32.9的内核源码。应该是可以通过patch的option来解决,等弄明来了再写上来。

==========================================================================================

在patch命令中加入-R选项,能够顺利的打补丁,不会有任何提示错误。但是下载了一个2.6.33的源码,比较从2.6.32.9用2.6.33patch后的源码,有很多不一样的地方。看来是不行的。

不知道应该怎么作,是否有一种好办法?


以上如有不对的地方,请指正,谢谢
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值