为 Google Pixel 6 刷入KernelSU
Google Pixel 稍微有点不一样,它的压缩方式是 legacy_lz4,GKI 模式不能通过官方提供的 boot 镜像,需要通过手动修补 boot.img 的方式刷入 KernelSU,其他设备其实也可以这样执行
下文会使用 KernelSU 文档的先进入临时 GKI 映像,再刷入 LKM 的方式
注意事项
版权与声明
本文部分技术核心取自以下文章,感谢这些文章的作者
- KernelSU 的官方安装文档:安装 | KernelSU
如果可能,请尽量阅读上方的原文章来学习
bootloader 锁
只有欧版的 Google Pixel 才能解除 bootloader 锁
防火长城
由于防火长城的存在,您不能直接访问android.com
、google.com
等域名(包括其子域名),所以请您自己想办法
下文注释
在下文代码块中,左上角写着#
的为需要超级用户身份执行的权限;左上角写着$
的只需要普通用户既可执行
以下代码只使用#
和$
来表示权限等级,不再明文写sudo
危险
数据无价,请确保您已经备份好了您的重要数据,根据此文章执行产生的一切后果由您亲自承担
准备工具
一台电脑
您需要一台电脑才能完成该操作
Android Debug Bridge
简称 adb,请从 Android 调试桥 (adb) 下载,并添加到环境变量中
不多做解释和教程
驱动程序
Windows
若使用 Windows,则需要下载安装 USB 驱动程序:Get the Google USB Driver
请根据官方文档来完成安装操作
Unix
若使用 Linux 或 MacOS,则不需要也不应该下载安装 USB 驱动程序,请参阅在硬件设备上运行应用
解除 bootloader 锁
解锁 OEM
进入设置
-关于本机
-狂点Build 号
7次以上-输入锁屏密码(如果有)-返回上一级-系统
-开发者选项
-开启OEM 解锁
进入 bootloader
$ bash
|
|
解除 bootloader 锁
警告:此操作将清除手机上的所有数据
$ bash
|
|
随后在手机上通过上下音量键和锁屏键选择解除bootloader锁
下载并安装 KernelSU 管理器
下载 KernelSU 管理器
https://github.com/tiann/KernelSU/releases
下载并安装KernelSU_<版本>.apk
安装 KernelSU 管理器
$ bash
|
|
下载 AnyKernel3
打开 KernelSU 管理器,查看内核版本,并从 releases 下载对应的 AnyKernel3
获取 Image 文件
解压出其中的Image
文件
$ bash
|
|
确认文件
将其传入手机内,至任意位置,下面以/data/local/tmp/
为例
$ bash
|
|
获取出厂映像
下载出厂映像
从 Nexus 和 Pixel 设备的出厂映像 将出厂映像下载下来,以 Google Pixel 6 的 Android 14 为例
提示:如果您是第一次访问该下载站,您可能需要将页面滑到最底端,同意“条款及条件”(即点击“确认”按钮)
注意:必须使用和 OTA 一样的版本的映像,否则将会导致手机无法开机,这需要您找到对应版本的映像重新刷入或将 OTA 升级为该版本。这种情况可能会因为需要您 Wipe data/factory reset 而丢失数据
解压出厂映像
下载应该会得到一个<设备代号>-<构建版本>-factory-<提交哈希值>.zip
压缩包,将其解压
$ bash
|
|
获取映像文件
其内部应该还有一个image-<设备代号>-<构建版本>.zip
,将其也解压
$ bash
|
|
确认文件
此时应该会有一个boot.img
,将其传入手机内,至任意位置,下面以/data/local/tmp/
为例
$ bash
|
|
获取 magiskboot
我们需要magiskboot
可执行程序来帮助我们修补boot.img
下载 Magisk
可以从 Magisk/releases 下载 .apk 文件
可以下载正式版(一般命名为Magisk-<版本>.apk
),也可以下载 Pre release 版(一般命名为app-release.apk
)
下文以正式版示范
解压 .apk 文件
$ bash
|
|
提取 magiskboot
找到lib/arm64-v8a/libmagiskboot.so
,将其重命名为magiskboot
$ bash
|
|
确认文件
将其传入手机内,至一个可执行的位置,下面以/data/local/tmp/
为例
$ bash
|
|
修补 boot.img
进入 shell
$ bash
|
|
进入 magiskboot 所在目录
$ bash:adb shell
|
|
赋予 magiskboot 执行权限
$ bash:adb shell
|
|
解包 boot.img
$ bash:adb shell
|
|
使用 Image 覆盖 kernel
此时应该会有一个名为kernel
的文件,用我们刚刚的Image
文件将其覆盖
$ bash:adb shell
|
|
重新打包 boot.img
$ bash:adb shell
|
|
会生成一个new-boot.img
文件
退出 adb shell
$ bash:adb shell
|
|
准备刷写
拉取 boot.img
$ bash
|
|
这就是修补后的boot.img
进入 bootloader
$ bash
|
|
选择
现在你已经拥有了我们需要的文件,接下来你有两个选择,具体如何选择,请参阅 KernelSU 的文档安装介绍
GKI 模式
刷写映像
将刚刚修补的boot.img
刷入 boot 分区,就是 GKI 模式
$ bash
|
|
重启手机
重启手机,完成安装
LKM 模式
临时 GKI 模式
将刚刚修补的boot.img
作为临时启动映像,进入临时 GKI 模式,获取临时 root 权限
$ bash
|
|
刷写 LKM 模式
进入系统后,打开 KernelSU 管理器,进入安装页面,选择直接安装(推荐)
重启手机
重启手机,完成安装