Sony Xperia XZs LineageOS折腾记

作为CM的正统继任者,LineageOS延续了CM的开源作风。我敬佩这些为了「软件共产主义」奉献自己宝贵实践的开发者们,但作为一个伪开发者,自己的能力并不足以参与LineageOS这样大型开源项目的开发。既然如此便退而求其次,在自己的设备上刷刷LineageOS也不错。遗憾的是,我所使用的设备过于小众,没有社区开发者帮忙适配。好在索尼对开源的态度不错,在设备的官方支持停止后Xda上零零星星有一些个人开发者自行做了第三杠ROM的Port。也正是借此契机我才得以体验LineageOS

Precondition

  1. Bootloader已解锁
  2. Adb已安装

刷入LineageOS

下载LineageOS文件夹中所有文件.

刷入recovery

  1. 进入fastboot模式。 手机关机后按上音量键后连接电脑,看到LED蓝灯常亮
  2. twrp-3.3.1-0-kagura.img所在路径打开命令提示符,执行
1
fastboot flash recovery ./twrp-3.3.1-0-kagura.img

清除数据

手机关机后同时按下音量键下和电源键,震动后松开,进入recovery模式,清除所有数据(wipe data,wipe cache)

注意,内部存储空间的数据会全部清空!!!

刷入kernel

解压Treble-10.0-keyaki-4.9-sjll-V2.10.zip至任意路径,设备进入fastboot模式后执行

1
2
fastboot flash oem vendor.img
fastboot flash boot boot.img

刷入OS

解压lineage-17.1-20200511-UNOFFICIAL-treble_arm64_bvN.img.xz到任意路径,执行

1
fastboot flash system lineage-17.1-20200511-UNOFFICIAL-treble_arm64_bvN.img

由于TWRP的加密实现有问题,下面的步骤一定要在系统第一次启动前完成,否则在TWRP中会出现无法解密分区的错误。

刷入OpenGapps(可选)

将设备完全关机后,进入recovery。

Wipe->Advanced->System->Repair System->Resize System->Repair System

复制gapps.zip到设备根目录,flash zip选中后按提示刷入即可

刷入magisk(可选)

进入fastboot后,执行

1
fastboot flash boot magisk_patched.img

进入系统后安装magisk manager即可正常使用.


刷入完毕后按电源键开机即可。第一次开机比较慢,请耐心等待,一会就进入OOBE界面了。

刷回官方包

日常使用3天后,我决定刷回官方的系统。理由如下

  1. LineageOS经常在包括但不仅限于息屏时自动重启。此时感受到手机发热严重,怀疑是CPU过热关机
  2. 快充间歇性不能使用。不能使用时充满电池需要2小时。可能电源管理模块有问题
  3. Android 10的UI有好多圆角,丑
  4. UI对16:9的手机有负优化,要使用通知中心第6~9个快捷方式需下拉+右滑两步操作,而Android Oreo中只需要下拉
  5. Recovery无法解密内部存储,残废了一大半

下载flashtool,打开flashtool一次后关闭,把Vanilla文件夹中的tft文件放入UserName\.flashTool\firmwares,运行flashtool,点击闪电⚡图标,选中固件。全选WipeSin,点击确定,按提示连接手机即可。

我是图

教训/经验

刷机所用到的各种包最好存一下。XperiFirm是一个从索尼官网抓取固件的程序,Vanilla文件夹中的tft就是用它制作的。Xperia XZs的支持距今已停止接近两年,官网也不再提供的固件,所以现在已经无法通过XperiFirm取得固件。Vanilla文件夹中的tft是我root设备时为了救砖而制作的,root成功后便删除了原始文件。万幸flashtoolfirmwares目录下还有一份存档,否则被困在lineageOS上回不来了。

同样的,以外链方式分发的文件可能因为一些莫名其妙的原因失效。论坛也会倒闭。论坛帖子还有internet archive抓取,帖子的附件没了到时候哭都没地方哭。

综上,还是保险起见好:-)

Reference

  1. [10.0] Project Treble for Xperia XZs [2020.03.18]
  2. [Tutorial] [10.0] Step-by-step guide to flash Aosp base Rom
使用 Hugo 构建
主题 StackJimmy 设计