postmarketOSとは何でしょうか?postmarketOSというシステムの紹介についてはこの記事を参照してください。
この記事はpmbootstrapを使ってpostmarketOSをインストールする手順です。あなたの機種が公式サポートリストに載っていれば、この手順に沿ってpostmarketOSを端末へインストールできます。
pmbootstrapはpostmarketOS公式が提供するツールで、postmarketOSシステムをゼロから作成できます。パッケージ内容は完全にカスタマイズ可能で、どのパッケージをインストールするかを制御し、自分用のシステムを作れます。
インストールファイルの作成以外に、pmbootstrapは新しい機種の移植作業にも使えます。
この記事ではIvonが、PC上でpostmarketOSのインストールファイルを手動作成し、それをスマートフォンへ書き込む流れを示します。私のPCはUbuntu LTS、スマートフォンはXiaomi Pocophone F1です。最新版の純正ファームウェアを入れ、Bootloaderをアンロック済みで、RecoveryとしてTWRPをインストールしています。
1. pmbootstrapをインストールする#
pmbootstrap - postmarketOS Wikiの指示を参照します。
QEMU仮想マシンを作成する必要があるため、pmbootstrapはx86_64アーキテクチャのPCのみをサポートしています。
1つ目の方法です。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 ~/.bashrc2つ目のインストール方法は、Linuxのパッケージマネージャーでpmbootstrapを入れる方法です。これはローリングリリース系ディストリビューション向けです。postmarketOS開発チームは常に変更を入れているので、pmbootstrapパッケージが古すぎると問題が起きやすいです。
# Alpine Linux, postmarketOS
apk add pmbootstrap
# Arch Linux
pacman -S pmbootstrap
# Debian
apt install pmbootstrap
# Fedora
dnf install pmbootstrap2. 機種を選択してオプションを設定する#
pmbootstrap initコマンドを実行します。
pmbootstrap init- 指示に従って入力します。初期化時に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アクセラレーション必須)はスマートフォンUI向け。起動後に別のデスクトップ環境を追加インストールすることもできる。
User Interface: phosh
# initシステムとしてSystemdを使うか?使用推奨。旧版postmarketOSはOpenRCを使っていた
Install systemd? (default/always/never) [default]: always
# 残りは全部Enter- これが、対応機種向けのインストールファイルを作成するたびに最初に行う作業です。あなたのpostmarketOSをどのような構成にするのかpmbootstrapへ伝えてから、インストールファイルの作成を開始します。
3. postmarketOSをスマートフォンへインストールする方法を選ぶ#
Androidスマートフォンの場合、書き込み前に最新版の純正ファームウェアをインストールし、Bootloaderをアンロックしておいてください。
この手順でインストールファイルを作成します。postmarketOSの主なインストール方法は3種類あります。
- fastbootで書き込む(データ消去が必要、おすすめ)
- SDカードへインストールする(既存のスマートフォンシステムには影響しないが、おすすめしない)
- 書き込み用ZIPでインストールする(データ消去が必要、時間がかかりすぎるのでおすすめしない)
このほかにも少し変わったインストール方法があり、後ろに載せています。
fastbootで書き込む#
この方法ではスマートフォン上の全データが消去されます。
- インストールファイルを作成します。
pmbootstrap install- スマートフォンをfastbootモードにし、PCへ接続して書き込みます。
pmbootstrap flasher flash_rootfs
# 書き込み先パーティションの容量が小さすぎる場合は、--partition引数を付けて別のパーティションへ書き込む:
pmbootstrap flasher flash_rootfs --partition userdata- 次にkernelをbootパーティションへ書き込み、再起動します。
pmbootstrap flasher flash_kernel
fastboot rebootSDカードへインストールする#
この方法ではスマートフォン本体のデータは変更されず、デュアルブートのように使えます。ただし起動時にPCからコマンドを実行しないとpostmarketOSへ入れません。スマートフォンによっては、fastbootからboot.imgで起動する方法に対応していない場合があります。
- SDカードをPCに挿し、
lsblkコマンドでSDカードのデバイス名とマウントポイントを確認します。
sdb 8:16 1 29.7G 0 disk /media/ivon/E8D8-4246- 先にアンマウントします。
umount /media/ivon/E8D8-4246- それからインストールを開始します。
pmbootstrap install --sdcard=/dev/sdbpmbootstrapがSDカードを自動フォーマットし、システムをインストールします。途中でユーザーパスワードの作成を求められ、SDカードをフォーマットするかどうかも再確認されます。
次にSDカードをスマートフォンへ装着し、スマートフォンをfastbootモードにしてPCへ接続し、次のコマンドで起動します。
pmbootstrap flasher boot書き込み用ZIPでインストールする#
この方法ではスマートフォン上の全データが消去されます。sideloadするか、書き込み用ZIPをスマートフォンへ転送してTWRPでインストールできます。ただしZIPの作成にかなり時間がかかります。待つのも修行、とはいえ限度があります。
- 書き込み用ZIPを作成します。約5分かかります。
pmbootstrap install --android-recovery-zip
# より大きい別パーティションへインストールしたい場合は、--partitionオプションを付ける
pmbootstrap install --android-recovery-zip --recovery-install-partition=dataスマートフォンをPCへ接続し、再起動してTWRPへ入ります。PCの作業ディレクトリから作成された
pmos-*.zip書き込み用ZIPを探します。たとえば私のファイルは~/.local/var/pmbootstrap/chroot_buildroot_aarch64/var/lib/postmarketos-android-recovery-installerにありました。ファイルをスマートフォンへ転送し、TWRPでインストールしてから再起動します。
PC上のpmbootstrapを終了します。
pmbootstrap shutdownその他の書き込み方法#
- Netboot:postmarketOSのboot.imgで一時的に起動してから、PC上のファイルシステムをマウントします。スマートフォンのデータを消去する必要はありません。
- Netcatで起動する
- NFSで起動する
4. postmarketOSインストール後の調整#
起動してもデスクトップへ入れない場合でも、スマートフォンをUSBケーブルでPCへ接続していれば、SSHでスマートフォンへ接続できます。
# このIPは固定。必要なのは「@」の前を自分のユーザー名に変えることだけ
ssh user@172.16.42.1あなたの端末が無事にpostmarketOSのデスクトップ環境へ入り、GPUアクセラレーション、タッチ操作、ネットワーク、音声がすべて正常なら、次はpostmarketOS使用技巧を参照して、postmarketOS設定の細かい勘所と、postmarketOSをスマートフォンOSとして使う方法を確認してください。


