我很早以前就想测试手机上刷原生Linux系统,目前可选的方案有Ubuntu touch、postmarketOS等。Ubuntu touch是相对较成熟的一个方案。前段时间买了一台二手MX4刷Ubuntu touch,这里详细分享一下整个刷机过程和注意事项。
Ubuntu touch支持的手机型号很多,但国外的机型不好买,我推荐下面几款国产机:
- Xiaomi Mi A2(小米6X)
- Google Pixel 3a/3a XL
- Oneplus One
- Xiaomi Poco M2 Pro
- Xiaomi Redmi Note 9 Pro Max
- Xiaomi Redmi Note 9S
- OnePlus 6 and 6T
- Meizu MX4
- Xiaomi Mi 6
- Xiaomi Redmi Note 9 Pro
- Xiaomi Redmi Note 7 Pro
- Google Nexus 5
- Xiaomi Poco F1
- Xiaomi Mi MIX 3
- Xiaomi Redmi Note 7
- Oneplus 5 and 5T
- Xiaomi Mi 8
- Oneplus 3 and 3T
刷机的大概流程是,当然有的步骤不是必须的,比如ROOT:
当初选择MX4只是因为它便宜。但我不推荐新手选择这款手机刷机,因为这次就把所有刷机的坑都踩了一遍。刷Ubuntu touch第一步是解锁bootloader。因为穷买了台便宜的二手MX4,结果遇到的是黑商家,商家卖的强制刷机后的机器(flyme账户没有正常退出,大概率最初是捡的或者偷的手机,无法通过官方途径root),卖家不肯退货,只能自认倒霉。
这种设备光root就有点头疼了。我不介绍这个root过程,也不建议大家买这样的手机。可以正常登录Flyme账户,在系统设置里开启即可开启root,无需第三方软件。
第二个坑是如何解锁bootloader。其它安装手机解锁bootloader相对简单一点,魅族没有官方解锁bootloader方案。不过MX4 在flyme4.2.8版本可以第三方解锁bootloader,网上也很容易下载工具包。
但是如果升级到了flyme5或者flyme6就需要降级,且不能直接降级flyme4.2.8,需要先刷flyme4.5.7。所以需要刷机两次,flyme4.5.7的rom有点不太好找。
已经解锁bootloader并root后,先刷入MX4刷机包里coffee的中文recovery。是不是觉得离成功很近了?MX4还有一个坑,就是需要调整cache分区大小才能成功刷入Ubuntu touch。这个需要用到adb工具的parnted工具,这个门槛稍微高一点,而且操作不当可能会彻底变砖。首先通过adb连接手机:
#连接手机
adb devices
#进入adb shell
adb shell
#使用parted工具
parted
#查看所有分区
print
#你需要调整cache、system、userdata三个文件大小,建议首先调整date文件大小,删除date文件所在分区假设是16
rm 16
#重建分区,并命名分区,如果不支持ext4就先格式化程ext2,再通过recovery格式化分区
mkpart data ext4 起始扇区 结束扇区
name 16 data
同理调整cache、system大小,由于cache、system分区都需要从data里面借空间,所以提前要计算好需要占用的空间大小。cache推荐选1G左右、system后续想装软件的话建议4G以上。MX4不支持内存卡,又是一个坑。
调整分区完毕后,连接最新的Ubuntu touch刷机工具刷机。接下来的过程就是傻瓜化的了。如果刷机还有问题,切换到USB2.0接口进行刷机。Windows系统刷机注意先下载好驱动包。注意Ubuntu Touch会修改分区结构,如果手机原生的BootLoader损坏了切勿回刷,会彻底变砖(我就遭遇了一次,刷废了一台MX4)
如果走过这些坑接下来就可以看到Ubuntu touch的操作界面了,下次介绍一下这个系统怎么样。不过初步上手感觉不如PostmaketOS和Mobian。