如何将补丁文件应用到当前 Linux 安装的内核?

如何将补丁文件应用到当前 Linux 安装的内核?

我想将补丁文件应用到我当前的 Ubuntu 安装(补丁文件示例)。将补丁文件正确应用到 Linux 内核的过程是什么?

我是否需要完成将补丁应用到磁盘映像文件、将其闪存到 USB 并安装新的 Linux 副本的整个过程?我可以只修补当前安装吗?或者我可以修补磁盘映像,然后使用它来升级我当前的安装吗?

我尝试过的:

  1. 找出我正在运行的内核版本:

    $ uname -srm
    Linux 5.11.0-25-generic x86_64
    
  2. 转到我的内核目录(我认为):

    cd /lib/modules/5.11.0-25-generic/kernel
    
  3. 应用补丁文件

    patch -p1 < ~/my-patch-file.patch
    

但没有应用任何补丁。输出是:

can't find file to patch at input line 23
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
...
File to patch:

这样做的正确方法是什么?

注意:这个问题与如何修补任何随机文件不同。我知道该怎么做。问题具体是关于如何修补当前安装的内核

答案1

补丁应用于源文件,而不是二进制模块。

您必须安装适当的内核源代码,应用补丁,然后重建。如果有效,您可以将重建模块复制到 /lib/modules 下的任何位置并重新启动。

内核源代码通常存储在/usr/src下。

相关内容