使用 kprobe 集成
KernelSU 使用 kprobe 机制来做内核的相关 hook,如果 kprobe 可以在你编译的内核中正常运行,那么推荐用这个方法来集成。
我们切换到内核目录下:
{android} 是源码的根目录
{android}/kernel/google/msm-4.14
(如果是自己拉取的源码,一般是在{android}/kernel/{设备厂商}/{内核型号})
执行以下命令:
cd ~ # 先切换到用户目录,因为虚拟机存放的位置就是根目录
cd android/pe # 切换到源码根目录
# 下面的就和自己的设备有关系,如果是pixel 4,直接按我的来
cd kernel/google/msm-4.14
开始集成KernelSU
注意,由于内核版本问题,kernelSU只支持到0.9.5,不要弄错版本了。
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v0.9.5
【关键】开启 kprobe 相关的配置
路径:kernel/google/msm-4.14/arch/arm64/configs/floral_defconfig
新增以下三行:
CONFIG_KPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_KPROBE_EVENTS=y
完成
接下来就开直接开始编译,验证成功啦