KernelSU のビルド方法は?
まず、Android の公式ドキュメントを読むべきです:
::: 警告 このページは GKI デバイス用です。もし古いカーネルを使用している場合は、古いカーネルへの KernelSU の統合方法を参照してください。 :::
カーネルビルド
カーネルソースコードの同期
sh
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>
は、ビルドを一意に決定するマニフェストファイルです。マニフェストを使用して再現可能なビルドを行えます。マニフェストファイルは Google GKI リリースビルド からダウンロードしてください。
ビルド
まずは 公式ドキュメントを確認してください。
たとえば、aarch64 カーネルイメージをビルドする必要があります:
sh
LTO=thin BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
LTO=thin
フラグを追加するのを忘れないでください。それをしないと、コンピュータのメモリが 24Gb 未満の場合にビルドに失敗する可能性があります。
Android 13 からは、カーネルは bazel
によってビルドされます:
sh
tools/bazel build --config=fast //common:kernel_aarch64_dist
KernelSU を使ったカーネルビルド
もしカーネルを正常にビルドできた場合、KernelSU をビルドするのは簡単です。カーネルソースのルートディレクトリで任意のものを選択して実行します:
sh
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -
sh
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s main
sh
curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v0.5.2
その後でカーネルを再ビルドすると、KernelSU が組み込まれたカーネルイメージが得られます!