【问题标题】:How to add rt patches in linux如何在linux中添加rt补丁
【发布时间】:2015-10-01 06:20:37
【问题描述】:

我想给 Linux 添加 rt 补丁,我拿了 3.18.9 内核和 3.18.9-rt4 补丁。 我将 patch-3.18.9-rt4.tar.gz 复制到 Linux 内核文件夹中。 现在我执行了 zcat 补丁-3.18.9-rt4.tar.gz |补丁-p1 执行此命令后,它要求文件进行修补,如下所示

|--- a/arch/sparc/Kconfig
|+++ b/arch/sparc/Kconfig
--------------------------
File to patch:

我想一次性添加所有补丁,如何实现?

【问题讨论】:

  • 我很确定这应该转到superuser.com——这不是编程问题。从您正在执行patch 命令的目录添加信息,看起来-p 选项与此处不匹配。

标签: linux patch


【解决方案1】:

问题

您使用的补丁包含 RT 补丁作为大量单独的文件,捆绑到 tar 存档中,然后压缩到 gz 文件中。在文件上运行zcat(或朋友)将解压缩它,然后将结果传递给patch。

但是,由于解压缩补丁文件后的结果是一个.tar 存档,这也是传递给patch 的内容,这是行不通的。

简单的解决方案

改用RT补丁的单文件版本,它只是一个压缩的.patch文件(这些版本可以通过称为“patch-...”而不是“patches-...”来识别, 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的说明进行操作:(调整为自己的内核版本/压缩格式即可)

修补内核

下载后,解压内核压缩包,进入内核源码目录。使用补丁级别 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

【讨论】:

  • 啊,错过了.tar.gz 第一次看到这个。也许添加为什么它不起作用:.tar 是多个文件的存档,zcat/bzcat/... 仅用于解压缩单个文件。
猜你喜欢
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 2021-08-28
  • 1970-01-01
相关资源
最近更新 更多