如何为内核集成 BakaSU
本页目录
BakaSU 可以被集成到GKI/非 GKI 内核中,现在它最低支持到内核 3.4 版本;理论上也可以支持更低的版本。
由于非 GKI 内核的碎片化极其严重,因此通常没有统一的方法来编译它。但你完全可以自己集成 BakaSU 然后编译内核使用。
首先,你必须有能力从你设备的内核源码编译出一个可以开机并且能正常使用的内核,如果内核不开源,这通常难以做到。
如果你已经做好了上述准备,可以通过这个教程来集成 BakaSU 到你的内核之中。
构建内核
同步内核源码
repo init -u https://android.googlesource.com/kernel/manifest
mv <kernel_manifest.xml> .repo/manifests
repo init -m manifest.xml
repo sync
<kernel_manifest.xml> 是一个可以唯一确定构建的清单文件,您可以使用该清单进行可重新预测的构建。 您应该从 通用内核映像 (GKI) 发布构建 下载清单文件
构建
请先查看 官方文档。
例如,我们需要构建 aarch64 内核镜像:
LTO=thin BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
不要忘记添加 LTO=thin, 否则,如果您的计算机内存小于 24GB,构建可能会失败.
从 Android 13 开始,内核由 bazel 构建:
tools/bazel build --config=fast //common:kernel_aarch64_dist
使用 BakaSU 构建内核
把 BakaSU 添加到你的内核源码树,在内核的根目录执行以下命令:
curl -LSs "https://raw.githubusercontent.com/Baka-SU/BakaSU/main/kernel/setup.sh" | bash
然后,选择其中一种方法来将 BakaSU 集成到你的内核中:
手动钩子
然后,将 BakaSU 调用添加到内核源代码 中,改完之后重新编译内核即可。
SUSFS
然后,在SUSFS仓库中根据你的内核版本选择分支并按照指导打内核侧补丁,改完之后重新编译内核即可。