KernelPatch Module (KPM)
约 814 字大约 3 分钟
2025-12-23
FolkPatch 基于 APatch 二次开发,Apatch 依赖于 KernelPatch,继承了其全部功能并进行了扩展。因此,FolkPatch 也支持使用 KernelPatch Modules (KPM)。下面是关于 KPM 的使用说明。
什么是 KPM?
KPM 是一种运行在内核空间内的模块,可以让代码运行在内核空间中,类似于 Loadable Kernel Modules(LKM)。
通过 KPM,你可以实现一些 APM 不能实现的功能(例如分区镜像保护等)。
如何安装 KPM?
KPM 有三种安装方式:嵌入、加载和安装。
关于“安装”
目前,FolkPatch 并没有实现 KPM 的“安装”操作,因其上游 APatch 并没有实现,因此现阶段 FolkPatch 的 KPM 只能通过“嵌入”和“加载”两种方式安装。KernelPatch 和 APatch 的开发者 正在努力实现相关功能,请耐心等待。
嵌入
嵌入是指将 KPM 直接嵌入至 kernel 。此模式下安装的 KPM 会同 kernel 一起被合并进 boot.img 中,在 pre-kernel-init 阶段加载。
KPM 的嵌入可以在首次使用 FolkPatch 管理器修补 boot.img 时或者在完成 FolkPatch 安装后进行。你也可以使用 kptools 手动嵌入。
首次修补时嵌入
按照安装指南中的自动修补流程进行修补,在进行第 4 步之后不要立即执行下一步操作。
点击“嵌入模块”按钮,之后选择你要嵌入的 KPM 文件 (后缀名为
.kpm)。确认要嵌入的 KPM 是你想要使用的 KPM。
完成剩余的“自动修补”流程即可。
安装 FolkPatch 后嵌入
在 FolkPatch 安装后,嵌入 KPM 的方式和安装 APM 的方式大致相同。你可以在“内核模块”界面点击右下角的按钮,选择“嵌入”,之后的步骤可以参考首次修补时嵌入进行。
加载
加载是指将 KPM 立即交给内核进行加载。通过这种方式加载的 KPM 会立即生效,但会在下次重新启动后消失。
加载 KPM 的方式和安装 APM 的方式大致相同,唯一一点区别在于 KPM 在加载后无需重启。
安装
注意
目前 KernelPatch 和 APatch 还未实现 KPM 的安装,以下的描述仅为对安装 KPM 的预期行为描述。
安装是指将 KPM 作为一个类似于 APM 的模块文件安装至 /data/adb/kpmodules 或类似目录。通过这种方式安装的 KPM 可以在特定的 event 进行加载。
自动加载
FolkPatch 目前支持在首次启动 FolkPatch 应用时加载 KPM 至内核中,这需要你选定 KPM 的路径,FolkPatch 提供了两种方式
使用 JSON 配置自定义加载,你需要写入符合 JSON 语法格式的 KPM 路径
使用可视化选择,FolkPatch 将直接调用系统文件选择器,选择你需要的 KPM 即可
其余行为与 加载 保持一致
重要
自动加载默认不会向 KPM 传递任何参数
版权所有
版权归属:Apatch Document
本文转载自:https://apatch.dev/zh_CN/kpm-usage-guide.html
许可证:Attribution-ShareAlike 4.0 International
