+ -
当前位置:首页 → 问答吧 → BFS补丁不能应用在2.6.31.1内核上

BFS补丁不能应用在2.6.31.1内核上

时间:2009-09-28

来源:互联网

如题,之前2.6.31用的好好的,今天想重新用新的编译一下,结果,patch错误,验证了一下,果然,拿掉2.6.31.1的ARCH补丁就OK了。

我是在官方的内核上加了BFS和孙海勇大侠的UTF-8补丁,结果,发现UTF-8补丁在2.6.31.1上patch是OK的,而BFS则不行,patch Makefile这个文件的时候会失败。

作者: alpha.gu   发布时间: 2009-09-28

这个补丁有那么神吗?

作者: www1862   发布时间: 2009-09-28

神不神我不知道,也许有点用吧,我只是弄着好玩的。

另外,不是Arch补丁的问题,官方的2.6.31.1也是一样,所以,BFS只能用在2.6.31上。

作者: alpha.gu   发布时间: 2009-09-28

可以打在2.6.31.1上面,没有任何问题

作者: ak47wj   发布时间: 2009-09-28

不行就看哪错打开来自己改下...

作者: huntxu   发布时间: 2009-09-28

引用:
作者: ak47wj
可以打在2.6.31.1上面,没有任何问题
真的?
为什么我patch的时候总是Makefile那边patch有问题。

作者: alpha.gu   发布时间: 2009-09-28

重新试验了一下,可以打上,只是有一个不致命的错误罢了,写在PKGBUILD里的话,只要不加return 1,就可以继续下去。

作者: alpha.gu   发布时间: 2009-09-28

很期待这个补丁进入官方内核

楼主看看AUR上的这个呢
aur/kernel26-bfs 2.6.31-233 (Out of Date) (63)

作者: axlrose   发布时间: 2009-09-28

GNU nano 2.0.9 文件: Makefile.rej

***************
*** 1,7 ****
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 31
- EXTRAVERSION =
NAME = Man-Eating Seals of Antiquity

# *DOCUMENTATION*
--- 1,7 ----
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 31
+ EXTRAVERSION = -bfs240
NAME = Man-Eating Seals of Antiquity

# *DOCUMENTATION*

以上是patch出错产生的Makefile.rej文件的内容,似乎没有什么实质性的问题。

作者: alpha.gu   发布时间: 2009-09-28

看不懂.rej就手动比对patch和要打补丁的文件中相关的部分...
2.6.31是"EXTRAVERSION=",2.6.31.1是"EXTRAVERSION=1",稍微改下patch就行了啊...

作者: huntxu   发布时间: 2009-09-28

==================================================
--- linux-2.6.31-bfs.orig/Makefile 2009-09-28 10:09:48.786347057 +1000
+++ linux-2.6.31-bfs/Makefile 2009-09-28 12:44:26.805471036 +1000
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 31
-EXTRAVERSION =
+EXTRAVERSION = -bfs240
NAME = Man-Eating Seals of Antiquity

# *DOCUMENTATION*
Index: linux-2.6.31-bfs/kernel/Kconfig.preempt
==================================================

patch中的相关部分原来内容是这样的,要怎么改?
改成:
-EXTRAVERSION = 1

还是一样有错误啊。

作者: alpha.gu   发布时间: 2009-09-29

代码:
$head -n 5 Makefile 
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 31
EXTRAVERSION = .1
NAME = Man-Eating Seals of Antiquity
真的连打开来看下都懒么...

作者: huntxu   发布时间: 2009-09-29

引用:
作者: www1862
這個補丁有那麼神嗎?
如人飲水,冷暖自知

作者: yanzilme   发布时间: 2009-09-29

果然,折腾是无极限的......

作者: zhong   发布时间: 2009-09-29

引用:
作者: huntxu
代码:
$head -n 5 Makefile 
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 31
EXTRAVERSION = .1
NAME = Man-Eating Seals of Antiquity
真的连打开来看下都懒么...
真的不是我懒啊,我一直在试啊。
一,你的这些内容应该是官方的2.6.31.1内核里的Makefile里的,我下载下来看过,的确是这样的。
二,Arch下面的2.6.31.1是从2.6.31 patch过去的,而对应的2.6.31.1-ARCH这个patch当中,对Makefile的Patch当中是这样写的:
-EXTRAVERSION =
+EXTRAVERSION =
也就是说,对于EXTRAVERSION,它并没有作.1这个patch
三,我将BFS的patch当中Makefile部分也改为:
-EXTRAVERSION =
+EXTRAVERSION =
则先打BFS patch,后打ARCH patch,结果是OK的,而倒过来,又是Fail的,真不知道为什么,文件明明是一样的,甚至md5值我都对比过了。

搞不明白,但是,至少我打到一个解决的方法了,先这么着吧。

作者: alpha.gu   发布时间: 2009-09-29

aur已经更新了kernel26-bfs 2.6.31-240

作者: 沙漠之子   发布时间: 2009-09-29

我还是自己弄好了,还要加一个中文补丁呢。
反正从AUR装的话,也是要本机编译。

作者: alpha.gu   发布时间: 2009-09-29

这个编译得要多少硬盘空间??

作者: jqxl0205   发布时间: 2009-09-29

具体多大不知道,但是,1GB是铁定不够的,因为我试过。

作者: alpha.gu   发布时间: 2009-09-29