我想在Linux上添加rt补丁,我拿了3.18.9内核和3.18.9-rt4补丁。 我将patch-3.18.9-rt4.tar.gz复制到Linux内核文件夹中。 现在我执行了 zcat patches-3.18.9-rt4.tar.gz |补丁-p1 执行此命令后,它要求修补文件,如下所示
|--- a/arch/sparc/Kconfig
|+++ b/arch/sparc/Kconfig
--------------------------
File to patch:
我想一次性添加所有补丁,我该如何实现?
答案 0 :(得分:5)
问题
您正在使用的补丁包含RT补丁作为大量单独的文件,捆绑到tar
存档中,然后压缩为gz
文件。在文件上运行zcat
(或朋友)将解压缩它,然后将结果传递给patch
。
但是,由于解压缩补丁文件后的结果是.tar
存档,因此这也是传递给patch
的内容,它不会起作用。
简单的解决方案
使用单个文件版本的RT补丁,这只是一个压缩的.patch
文件(这些版本可以被称为"补丁-..."而不是"补丁-...",3.18.9-rt5可以从这里下载:https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/older/patch-3.18.9-rt5.patch.gz)。
然后按照RT Preempt Howto中的说明进行操作:(只需将其调整为您自己的内核版本/压缩格式)
修补内核
下载后,解压缩内核tarball并切换到内核源目录。使用补丁级别p1修补内核:
tar xfj linux-2.6.23.1.tar.bz2 cd linux-2.6.23.1 bzcat ../patch-2.6.23.1-rt11.bz2 | patch -p1