an *_*use 3 kernel patch system-installation
我遇到了系统冻结问题,我在 github 上找到了这个讨论,其中之一建议添加 5 个补丁:
当我输入:
patch p1 < 0001-PM-autocomplet.patch
Run Code Online (Sandbox Code Playgroud)
要应用此形式的补丁:
diff --git a/include/linux/pm_qos.h b/include/linux/pm_qos.h
index 0f65d36..ff59753 100644
--- a/include/linux/pm_qos.h
Run Code Online (Sandbox Code Playgroud)
,必须patch -p1
满足几个条件。
您必须位于内核源代码树的顶级目录中。该-p1
选项将从文件名中删除一个路径部分,以便a/include/linux/pm_qos.h
将其视为include/linux/pm_qos.h
. 这是一个必须从当前工作目录解析的相对路径。
该文件include/linux/pm_qos.h
必须存在于您尝试修补的内核版本中。
如果不满足 1 和 2,则将patch
找不到要应用的文件,并以交互方式要求您提供路径名。
那么当然:
include/linux/pm_qos.h
文件必须与生成补丁的文件“足够相似”,否则补丁将无法应用。相同的注释分别适用于补丁中提到的所有其他文件。
如果您尝试修补与生成补丁的版本不同的内核版本,恐怕您会“不知所措”;这需要对内核开发有一定程度的了解(取决于应用补丁所需的调整有多复杂)。
有时我们会发现内核文件刚刚被重命名;如果补丁中提到的文件被重命名为新名称,则补丁将相当干净地应用。另一方面,在最坏的情况下,您必须真正了解补丁在做什么(可能通过查看制作补丁的原始内核),然后在目标内核中从头开始实现相同的逻辑。“中等难度”时,只需处理变量名、函数名、结构体成员名被重命名等问题即可;如果补丁仅遵循新名称,则该补丁将适用。
归档时间: |
|
查看次数: |
16554 次 |
最近记录: |