2021年12月5日,第一次接觸 postmarketOS。
postmarketOS基於Alpine Linux,將真正的Linux系統裝到Android手機,類似Ubuntu touch,不是chroot也不是proot更不是Android,就是純Linux。
- 測試可以開啟的軟體:GIMP、LibreOffice、Firefox。
- 無法運作的項目: Wifi、音效、藍牙、3D加速、螢幕旋轉
這支手機不在官方推薦列表中,狀態是testing,基本上是全殘,光要解決硬體驅動問題就飽了。
安裝流程為在電腦上建立刷機包,然後用手機TWRP刷入。
1. 需要工具#
- 手機:紅米Note 5 (whyred),已解鎖bootloader,Recovery為TWRP 3.5.2,所有分區已清空。
- 電腦:Ubuntu 20.04,裝有Python 3.7、Git、Openssl
2. 建立刷機包#
- 在Linux上安裝pmboostrap:
pip3 install --user pmbootstrap
source ~/.profile
2.安裝自動補完
sudo apt install python3-argcomplete
- 在bash shell的設定檔
~/.bashrc
加入以下內容
eval "$(register-python-argcomplete3 pmbootstrap)"
- pmbootstrap在安裝時會從Gitlab上下載最新版,裡面包含各種機型的設定檔。初始化pmbootstrap:
pmbootstrap init
Work path: Enter #使用預設工作目錄 (/home/user/.local/var/pmbootstrap)
Channel: edge
Vendor: xiaomi
pmbootstrap install --android-recovery-zip
Device codename: whyred
Username: User
User Interface: xfce4
- 建立刷機包,預設會安裝到手機的system分區,如果空間不夠亦可用安裝到其他分區的參數,參照Wiki。建立過程中會要求建立使用者密碼,輸入兩次後按下Enter。
pmbootstrap install --android-recovery-zip
#關閉pmbootstrap
pmbootstrap shutdown
- 手機接上電腦,開機進入TWRP,從工作目錄找到建立的pmos-*.zip刷機包。我的檔案是在:
~/.local/var/pmbootstrap/chroot\_buildroot\_aarch64/var/lib/postmarketos-android-recovery-installer
複製到手機上,掛載system分區後直接安裝。
如果無法掛載system分區,將其用ext4格式化修復系統後再試試看。
安裝後TWRP顯示"cannot mount system: resources are busy"的警告可忽視。
接著重新啟動手機。
3. 安裝軟體#
預設按鈕在手機上看起來太小了,按左上角到Appearance→Settings → Window Scaling將比例調最大。
在點選輸入框時,螢幕鍵盤會自動開啟,有點像是在用Termux的感覺。
開機時WIFI抓不到驅動…無法用WIFI,參考WIKI把電腦的光纖網路用USB分享給手機 : https://wiki.postmarketos.org/wiki/USB_Internet
這樣至少能上網了。
postmarketOS的套件管理程式是apk (跟Android安裝包無關),如果沒有你要的軟體,就只能自行抓deb檔案來安裝。
apk add firefox libreoffice gimp
測試都能開啟…但要解決硬體驅動問題才能來談軟體方面的問題… 現在還不實用。