小米 6 刷机 postmarketOS 的踩坑记录
License: CC BY-NC-SA 4.0
前言
一开始不知道怎么设置下载镜像,折腾了一天还没下成功。
后面还有不少坑。
正文
(小米 6)刷完后你大概能得到一个(在手机上)没有图形界面的服务器,而且还不能连无线网,只能靠着 usb 线苟活。但是 postmarketOS 的内核是 6.0,比 Ubuntu Touch 16.0 的 4.x 内核领先多了。而且也更像电脑上的 Linux 发行版。
虽然但是,wiki 上它是可以连网的。不知道我哪里没做对。
手机上首先要解 BL 锁并刷入 TWRP。
下面是电脑上的操作:
首先下载 pmbootstrap
。你可以 pip install pmbootstrap
,也可以自行在系统的包管理器中下载。
选一个空目录,用于构建系统。当然也可以不选,直接用默认的。
然后是坑点:如果你没有魔法上网,建议用国内镜像源。具体来说就是在 pmOS 的镜像源里挑几个访问快的,后面用 pmbootstrap
时加入参数 --mirror-pmOS="https://your.mirror.site/postmarketos/" --mirror-alpine="https://your.mirror.site/alpine/"
。本文以 THU 镜像为例。
如果不用镜像,你可能会被 Compressed file ended before the end-of-stream marker was reached
的报错折磨半天。
pmbootstrap
是类似 archinstall
的自动化安装脚本。
pmbootstrap --mirror-pmOS=http://mirrors.tuna.tsinghua.edu.cn/postmarketOS/ --mirror-alpine=http://mirrors.tuna.tsinghua.edu.cn/alpine/ init
一路跟着指示走,但有几个坑。
- Channel 要选 Edge
- Provider 要选
wpa_supplicant
(iwd
会导致安装时报错) - User Interface 要选 fbkeyboard
- Device hostname 可以随便填(这个不算是坑?)
然后就是制作卡刷包了。如果是新手建议不要线刷,刷到一半 pmbootstrap
报错就寄了(
建议加入 --recovery-install-partition=data
的选项,否则你的根目录会很小。
pmbootstrap --mirror-pmOS=http://mirrors.tuna.tsinghua.edu.cn/postmarketOS/ --mirror-alpine=http://mirrors.tuna.tsinghua.edu.cn/alpine/ install --android-recovery-zip --recovery-install-partition=data
不要输入完命令就开始挂机了,建议时不时看一眼,中途会让你输入 sudo 密码,设置新用户密码。
然后是提取安装包。
pmbootstrap --mirror-pmOS=http://mirrors.tuna.tsinghua.edu.cn/postmarketOS/ --mirror-alpine=http://mirrors.tuna.tsinghua.edu.cn/alpine/ export
手机进入 recovery(TWRP),点 Wipe - Format Data,并重启到 recovery。
Advanced - ADB Sideload - Swipe to Start Sideload(并连接到电脑)
电脑要进入之前的提取目录(好像 adb
不支持软链接?)
cd $(dirname $(readlink /tmp/postmarketOS-export/pmos-*.zip))
然后 adb 刷入。
adb sideload pmos-xiaomi-sagit.zip
刷完重启,等待它跳出字体巨小的 login 界面。理论上已经刷好了,但还要配置一下网络。
用 usb 连上电脑,理论上应该可以 ssh 通了。ip 是 172.16.42.1
,默认用户名和密码分别是 user
和 147147
。
ssh 如果没法用可以按 wiki 上的方法配置,但是敲命令就只能用手机上的虚拟键盘了。
注意:按 123!@"
键切换为数字模式时键盘不会刷新,必须要点某个键才能刷新。切回字母模式也一样。不要像我一样狂按,没用的。
usb 连网可以参考 wiki 页面。