让你的Thinkpad在SUSE下工作得更好更完美(5)

对第一种情况,如果只报了一两处fail的话,我们就进入所在文件的目录, 例如如果libata.h报告fail,进入include/linux/,这里面会有3个文件:
libata.h , libata.rej , libata.h.orig
首先rm libata.h,因为这个文件已经是被错误的patch了,基本没有利用价值, libata.rej也可以删了
然后编辑libata.h.orig, 同时打开patch文件, 找到libata.h文件所在的patch段,根据上面的介绍的理解方法,找到需要修改的地方,即 "+", "-"开头的行,
然后根据此行的上下文在libata.h.orig文件中寻找此段内容的位置,找到后按照patch文件里面的指示,把"-"开头的行删掉或者把"+"开头的行加入在相应地方,如此这般,把整个patch内容手动修改完
最后 mv libata.h.orig libata.h

如果第一种情况下报错比较多,则建议全部文件手工打patch重来,因为已经有可能在那些报告成功的文件上其实也没有正确地打上patch,方法和上面的一样.

如果第二种情况报错,首先要找到对应的文件所在:
find ./ -name *libata*

然后人手修改所有文件,因为出现此情况一般而言kernel和patch的版本已经差别比较大,安全起见以人手修改最好

把全部文件patch好,先把整个source目录打包备份一下

现在可以开始编译了,在source目录下运行
make 2>./make_err

然后开始漫长的等待

~~~~~~~~~~真的很长~~~~~~~~~~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27948.html