前言

我手里有一台 Pixel 6,Android

image-20260623151245019

这里我们想要将 Pixel 6 设备的内核升级到 v6.1,所以我们必须先刷入BP11.241025.006 (12620009)将设备降级到指定版本,然后再为其编译内核。

image-20260623150023482

下载内核

# 初始化 mainline 分支的清单
repo init -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-6.1-android16

# 同步代码
repo sync -c --no-tags -j$(nproc)

集成SukiSU-Ultra

进入 kernel common 目录,然后运行 SukiSU-Ultra 官方源码集成脚本:

cd /root/kernel-6.1/common
curl -LSs "https://raw.githubusercontent.com/SukiSU-Ultra/SukiSU-Ultra/main/kernel/setup.sh" | bash -s main

构建内核

# 构建
tools/bazel run --config=raviole --config=fast //private/google-modules/soc/gs:slider_dist

构建完成后检查产物:

ls -lh out/slider/dist/boot.img \
       out/slider/dist/dtbo.img \
       out/slider/dist/dtb.img \
       out/slider/dist/vendor_dlkm.img

刷入设备

# 重启到 bootloader
adb reboot bootloader

# 刷入内核(需要解锁的 bootloader)
fastboot getvar current-slot        # 记住当前 slot
fastboot flash boot  out/slider/dist/boot.img       # 文档里的 Image.lz4-dtb 不存在,boot.img 才是正确产物
fastboot flash dtbo  out/slider/dist/dtbo.img
fastboot flash vendor_dlkm out/slider/dist/vendor_dlkm.img
fastboot reboot

参考

构建 Pixel 内核 | Android Open Source Project pixel6内核编译集成KernelSU刷入Lineage21(上)