我想将补丁文件应用到我当前的 Ubuntu 安装(补丁文件示例)。将补丁文件正确应用到 Linux 内核的过程是什么?
我是否需要完成将补丁应用到磁盘映像文件、将其闪存到 USB 并安装新的 Linux 副本的整个过程?我可以只修补当前安装吗?或者我可以修补磁盘映像,然后使用它来升级我当前的安装吗?
我尝试过的:
找出我正在运行的内核版本:
$ uname -srm Linux 5.11.0-25-generic x86_64
转到我的内核目录(我认为):
cd /lib/modules/5.11.0-25-generic/kernel
应用补丁文件
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下。