快轉到主要內容

postmarketOS安裝教學,使用pmbootstrap建立安裝檔

· 民國114年乙巳年
·
切換繁體/簡體
分類   智慧型手機 真Linux手機
標籤   PostmarketOS Alpine Linux
目錄

什麼是postmarketOS?關於postmarketOS系統的介紹請看這篇

這篇文章是用pmbootstrap安裝postmarketOS的教學,只要你的機型有在官方支援列表,都能夠按照此步驟操作,將postmarketOS安裝至裝置上。

pmbootstrap是postmarketOS官方提供的工具,可以從無到有建立postmarketOS系統,套件內容可完全自訂,用於控制哪些套件需要安裝,打造自定義的系統。

除了建立安裝檔以外,pmbootstrap亦能進行新機移植工作。

本文Ivon示範手動在電腦上建立postmarketOS安裝檔再刷入手機。我的電腦是Ubuntu LTS,手機是小米Pocophone F1,安裝最新版原廠韌體,已解鎖Bootloader,安裝TWRP作為Recovery。

1. 安裝pmbootstrap
#

參考pmbootstrap - postmarketOS Wiki指示

由於需要建立QEMU虛擬機,pmbootstrap僅支援x86_64架構的電腦。

第一種方法,推薦用Git與符號連結的方式安裝,能夠取得最新版pmbootstrap。

cd ~

git clone https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git

mkdir -p ~/.local/bin

ln -s "$PWD/pmbootstrap/pmbootstrap.py" ~/.local/bin/pmbootstrap

echo 'PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc

第二種裝法,用Linux套件管理員安裝pmbootstrap,僅適合滾動發行版,因為postmarketOS開發團隊會一直變更,所以pmbootstrap套件太舊的話容易出問題。

# Alpine Linux, postmarketOS
apk add pmbootstrap

# Arch Linux
pacman -S pmbootstrap

# Debian
apt install pmbootstrap

# Fedora
dnf install pmbootstrap

2. 選擇機型並設定選項
#

  1. 執行pmbootstrap init指令
pmbootstrap init
  1. 並按照指示填入。在初始化時會從Gitlab上下載最新版的機型設定檔。
# 按Enter使用預設工作目錄 (~/.local/var/pmbootstrap)
Work path: Enter

# 更新頻道選擇edge,或者填入寫有Recommended for best stability的穩定版數字。
Channel: edge

# 選擇手機廠牌
Vendor: xiaomi

# 選擇手機的裝置代號
Device codename: beryllium

# 建立postmarketOS的使用者帳戶
Username: User

# 選擇桌面環境,XFCE4(x11)適合沒有硬體加速的裝置;Phosh(Wayland,需要3D加速)適合當手機介面。在開機後可以再另外安裝其他桌面環境。
User Interface: phosh

# 是否使用Systemd作為init系統?推薦使用。舊版postmarketOS是使用OpenRC
Install systemd? (default/always/never) [default]: always

# 剩下全部Enter
  1. 這就是每次建立對應機型的安裝檔要先做的工作,你必須告訴pmbootstrap你的postmarketOS應該長什麼樣子,才能開始建立安裝檔案。

3. 選擇安裝postmarketOS到手機的方法
#

如果是Android手機,請確保在刷機之前安裝原廠最新版韌體,並解鎖Bootloader。

這個步驟就要建立安裝檔案了,主要有3種安裝postmarketOS的方法:

  1. 用fastboot刷入 (需清除資料,推薦)
  2. 安裝至SD卡 (不會影響到原有手機系統,不推薦)
  3. 用刷機包刷入 (需清除資料,太耗時不推薦)

除此之外還有一些比較奇怪的安裝方法,列在後面。

用fastboot刷入
#

這個方法將清除手機所有的資料。

  1. 建立安裝檔
pmbootstrap install

2.手機進入fastboot模式,接到電腦刷入:

pmbootstrap flasher flash_rootfs

#如果刷入的分區容量太小,加上--partition參數,改刷入到其他分區:
pmbootstrap flasher flash_rootfs --partition userdata
  1. 再刷入kernel到boot分區,重開機:
pmbootstrap flasher flash_kernel

fastboot reboot

安裝至SD卡
#

這個方法不會修改手機的資料,可以做雙系統,但是開機需要靠電腦下指令才能進入postmarketOS。注意有些手機可能不支援從fastboot以boot.img開機。

  1. SD卡插到電腦,用指令lsblk確定SD卡的裝置代號,以及掛載點:
sdb      8:16   1  29.7G  0 disk /media/ivon/E8D8-4246
  1. 先取消掛載
umount /media/ivon/E8D8-4246
  1. 然後再開始安裝
pmbootstrap install --sdcard=/dev/sdb
  1. pmbootstrap會自動格式化SD卡,並將系統安裝進去。過程中會要求建立使用者密碼,並會再確認是否要將SD卡格式化。

  2. 接著把SD卡裝到手機,讓手機進入fastboot模式,接到電腦,輸入指令開機:

pmbootstrap flasher boot

用刷機包安裝
#

這個方法將清除手機所有的資料,可sideload或者傳輸刷機包到手機上再用TWRP安裝。不過建立刷機包很耗時。

  1. 建立刷機包,大約5分鐘。
pmbootstrap install --android-recovery-zip

#如果要安裝到其他較大的分區,可以加上--partition的選項

pmbootstrap install --android-recovery-zip --recovery-install-partition=data
  1. 手機接上電腦,重開機進入TWRP。從電腦的工作目錄找到建立的pmos-*.zip刷機包,例如我的檔案是在~/.local/var/pmbootstrap/chroot_buildroot_aarch64/var/lib/postmarketos-android-recovery-installer

  2. 將檔案傳到手機,用TWRP安裝,之後重新開機。

  3. 將電腦上的pmbootstrap關閉:

pmbootstrap shutdown

其他刷入方法
#

4. postmarketOS後續安裝優化
#

就算開機無法進入桌面,手機用USB線連著電腦的情況下,也能用SSH連線到手機:

#這個IP是固定的,只需將「@」前面改成你的使用者帳號
ssh user@172.16.42.1

假設你的裝置順利進入postmarketOS桌面環境,並且GPU加速、觸控、網路、音效都正常的話,接下來請參考這篇:postmarketOS使用技巧了解postmarketOS的設定眉角,以及如何將postmarketOS當作手機系統用。

相關文章

postmarketOS介紹,專為手機打造的GNU/Linux發行版
分類   智慧型手機 真Linux手機
標籤   PostmarketOS Alpine Linux
用電腦體驗手機Linux系統:postmarketOS QEMU/KVM虛擬機安裝教學
分類   智慧型手機 真Linux手機
標籤   PostmarketOS QEMU-KVM
postmarketOS使用技巧:安裝APP、中文化、執行Android APP、跑Docker
分類   智慧型手機 真Linux手機
標籤   PostmarketOS

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。