OnePlus 8T 刷机安装 LineageOS 18.1
我给新买的 OnePlus 8T 刷了一个先进的原味安卓系统。遇到的坑和新知识。
最近看上了 OnePlus 8T,价格实惠,硬件设计也可以。截止至本文发布,LineageOS 官网 https://download.lineageos.org/ 暂时还没有官方支持。
但是官方 OnePlus 6/7(T) 适配的维护者 LuK 已经有了一个非正式的开发版本,设备内部代号是 kebab。它放在 LineageOS 的 GitHub 仓库和 Gerrit 评审系统里,姑且可以认为是候选发布或者提前尝鲜版。这个开发中的版本由 LuK 本人发布在 XDA 论坛。
OnePlus 8T 按照地区、基带、运行商绑定和预装系统可以分为
- CN 国内版,也叫做 $H_2$,因为预装国内版系统氢OS (HydrogenOS),别的地方都是氧OS (OxygenOS);
- Global 国际版;
- EU 欧洲版;
- IN 印度版;
- T-Mobile 运营商定制版。
我买的是国内版的。有人说国内的氢OS刷不进去,需要先刷成欧版。这几天在多种 ROM 之间尝试,亲测没有必要。我用 MsmDownloadTool (OnePlus 的出厂高通线刷包,或者叫做救砖包) 刷成上面其他的版本的原厂 ROM,发现国内版 ROM 有一个好处:不需要 WiFi 联网或者 SIM 卡就可以解锁 bootloader,从隐私角度来说有一定的优势。总体来说国内版 ROM 作为基础反而更方便,“需要先刷成欧版”的说法可能已经过时。
在尝试刷机的时候我遇到了很多坑(因为也很久没干这种事情了),看了很多网上的所谓教程。但是却忽略了作者帖子已经写清楚的重要提示消息。下面是一些我个人感觉比较重要的注意事项,并在最后给出我的刷机具体流程。
Recovery
不需要预先刷一个 TWRP Recovery,(目前)也用不了。相比之下,LineageOS 的 ROM 必然已经自带了一个改版的安卓原版 Recovery,它对于刷机已经足够用了。如今图形界面的 LineageOS Recovery 至少包含以下功能:
- 擦除用户数据;
- 进入到用户态 fastbootd(相当于机器启动到了 LineageOS Recovery 之后还能继续提供 fastboot 功能);
- 使用 adb 旁加载文件的方式传入并安装数据包,可以选择跳过签名验证。
相反,TWRP 对 Android 11 的支持前两个月才推出,我能找到适配 OnePlus 8T 的 TWRP 是由 Mauronofrio 制作的非正式版本,而它目前还不支持 Android 11。而且作者明说目前还无法可靠地刷入机器,只能临时启动。我认为没有必要给自己找麻烦。
值得一提的是,LineageOS Recovery 里的 Recovery 模式是紫色主题风格,切换到 fastbootd 模式界面就变成了黄色主题风格。
Fastboot
版本问题
一定要用使用最新的 fastboot 命令,确保刷入的分区镜像符合安卓的最新标准。(这一点在 LuK 的帖子里也有提到。但我一开始没注意,导致刷进去的系统不完整)包含 adb 和 fastboot 的最新工具包可以从官网下载:
而且同样也要注意,不要用手机上自带的 fastboot 模式,而要用上面提到的 LineageOS Recovery 里头的 fastbootd 模式。因为它接受 fastboot 指令的服务端比手机出厂自带的要新一些。而新的 fastboot 也需要手机一侧新的支持。
需要用到的一些命令
大可不必像一些教程要求把 zip 刷机包拆开成一堆的 img 文件,然后手动做各种 fastboot flash xxxx xxxx.img。因为一行 fastboot update 命令已经足以完成所有这些任务。
刷机具体步骤
阅读下文需要了解基本的 Windows 命令行 / Shell 的使用方法。
在 LuK 的帖子给的下载地址里找一个最新的,带有 -gms 后缀的(如果需要谷歌全家桶)zip 刷机包。
解锁 OEM 和刷机将会丢失所有用户数据,注意提前备份。建议先不要插手机 SIM 卡,方便刷机成功后因为断网而暂时绕过欢迎屏幕最后的联网操作(因为还得先安排一个科学上网)。
- 设置 → 关于 → 快速反复点击 “版本号”,提示开启 “开发者选项”
- 设置 → 系统 → 开发者选项,开启 “解锁 OEM” 和 “USB 调试”
- 连接电脑
- 准备使用最新的 SDK Platform Tools 工具包里的 adb 和 fastboot
adb reboot fastboot
- 执行上述命令后,手机应当重启到原厂自带的 fastboot 模式
fastboot flashing unlock
- 执行完上述命令后,手机屏幕上应当出现解锁警示,用手机上的音量加减键控制选项光标,按电源键确认 Unlock。手机会自动擦除所有用户数据、解锁并重启。
- 下一步操作还需要在 fastboot 里,所以不需要等待重启完成:拔下 USB 线,同时按下 音量+ 音量- 电源 三个按键十秒,强制关机。再次同时按下 音量+ 音量- 电源 三个按键,直接启动回到 fastboot 模式。
- 接下来我们借用一下 LineageOS Recovery。解压 lineage-18.1-20210128_143311-UNOFFICIAL-kebab-gms.zip,提取出里面的 recovery.img,放在当前目录下。
fastboot boot recovery.img
- 执行完上述命令后,应当看到手机画面变得炫酷了起来,能看到 LineageOS 的麦田怪圈(?) Logo。
- 触屏点击 Factory reset 并确定擦除用户数据(刚才解锁后的自动重启可能又引入了一些用户数据,此时最好重新擦除干净)
- 触屏点击 Advanced → Enter fastboot,进入 LineageOS Recovery 的 fastbootd 模式,画面色彩变为黄色。
fastboot update lineage-18.1-20210128_143311-UNOFFICIAL-kebab-gms.zip
- 执行完成上述命令后,就刷机完成了,手机会自动重启进入 LineageOS。
- 欢迎屏幕里跳过而不要连接 WiFi,断网环境下完成后,退回到安卓桌面
- 和最开始同样的步骤打开开发者选项,USB 调试。
- 从 GitHub 上科学的项目的 Releases 里下载那种科学的 apk。
新的系统就可以开始使用了。
后续更新步骤
目前还不是正式发布的版本,所以得手动更新。具体方法可参见官方 Wiki。
正式上线的进度可以关注 Wiki 上的列表,也可以直接看https://review.lineageos.org/c/LineageOS/lineage_wiki/+/300858/ 。当正式发布上线之后,系统更新就应该能够收到自动更新了。期待这一天尽快到来。