メインコンテンツへスキップ

小米Poco F1にpostmarketOSとAndroidのデュアルシステムを入れてマルチブートする

·
カテゴリー スマートフォン 真のLinuxスマホ
タグ PostmarketOS Linux Android
目次

128GB容量の小米Poco F1でWindows 11 ARM + Android雙重開機を試した後、Poco F1にはMobian、Ubuntu touch、postmarketOSも焼けるのだから、Linux + Androidのデュアルブートも難しくないのでは、と思いました。

こうする理由は、Linuxスマホ向けディストリビューションをメインシステムとして使いたいからです。ただしLinuxではまだカメラが動作しないので、予備としてAndroidも入れておく必要があります。現実はだいたいカメラで殴ってきます。

原理は、Renegade Projectが提供するGNU partedツールでスマホのUFSを2つのパーティションに分け、64GBをAndroidへ、64GBをMobian(Linuxスマホ向けディストリビューション)へ割り当て、それぞれのシステムを指定したパーティションへ焼く、というものです。さらにTWRPを入れてあるので、どちらのシステムで起動したいかに応じてTWRPへ入り、対応するシステムのboot.imgをbootパーティションへ焼けば起動できます。

これはWindows 11とのデュアルブートに比べると実装しやすいです。UEFI対応のboot.imgをどうにかして作る必要がありません。さらにpostmarketOSというLinuxスマホ向けディストリビューションは、Windows 11より対応端末が多く、多くのスマホにはTWRPサポートもあります。そのため この記事の手順は他のAndroidスマホにも応用できるはずです。 そして重要なことに、LinuxはWindowsよりずっと自由です。

以下、実装手順を説明します。

1. TWRPをインストールする
#

  1. 作業前に、PCへPlatform toolsをインストールしておきます。

  2. TWRP公式サイトからPoco F1用のTWRPをダウンロードします。スマホをfastbootへ再起動し、Fastbootで焼き込みます。

fastboot flash recovery  twrp-3.6.2_9-0-beryllium.img

2. スマホのUFSを分割する
#

  1. Renegade Project公式サイトGNU partedからparted実行ファイルをダウンロードします。

  2. スマホをTWRPへ再起動し、PCへ接続します。partedをADBでスマホへ転送します。

adb push parted /sdcard
adb shell
cp /sdcard/parted /sbin/
chmod 755 /sbin/parted
  1. スマホのUFSを分割します。
umount /data
umount /sdcard
parted /dev/block/sda
# スマホ上のパーティションテーブルを一覧表示。この端末には21個のパーティションがあるはず
print
# Androidのパーティション(userdata)を64GBまで縮小
resizepart 21 64GB
# パーティションを追加し、残りの容量をすべてMobianへ割り当てる
mkpart mobian ext4 64GB 123GB
quit
exit
  1. もう一度TWRPへ再起動し、ADB Shellへ入って、先ほど作成した2つのパーティションをフォーマットします。
adb shell
mke2fs -t ext4 /dev/block/by-name/userdata
mkfs.ext4 /dev/block/by-name/mobian
exit

これでAndroidとMobianをインストールできます。

3. システムをインストールする
#

  1. 軽量さを考えて、AndroidシステムにはLineageOSを使います。公式サイトからzipをダウンロードします。

  2. スマホをTWRPへ再起動し、AdvancedADB Sideloadを押します。ADB sideload方式でAndroidを焼き込みます。ROMはuserdataパーティションへインストールされます。

adb sideload lineageos.zip
  1. LineageOSの圧縮ファイルを展開し、中にあるboot.imgを保存して、android-boot.imgへリネームします。

  2. Mobian weekly buildsをダウンロードします。

  3. スマホをfastbootへ再起動し、Mobianのboot.imgを焼き込みます。

fastboot -S 100M flash boot mobian-boot.img
  1. 続いてMobianのファイルシステムを焼き込みます。先ほど追加したmobianパーティションへインストールされます。
fastboot -S 100M flash mobian mobian-rootfs.img
fastboot erase dtbo
  1. 同じく、Mobianのboot.imgも保存して、mobian-boot.imgへリネームします。

4. デュアルブートの手順
#

スマホをTWRPへ再起動します。この時点では、TWRPはAndroidの内部ストレージだけをマウントします。PCへ接続し、2つのシステムのboot.imgをMTP経由でAndroidの内部ストレージへ置きます。

Androidへ再起動したい場合は、TWRPメイン画面のInstallを押し、Install Imagesを選び、Androidのboot.imgをbootパーティションへ焼き込みます。これで再起動後にAndroidへ入ります。同じ要領で、Mobianも同じ仕組みです。

Android 12が原因でTWRPがAndroidパーティションを復号できない場合は、2つのシステムのboot.imgをSDカードまたはPC上に保存しておく必要があります。今後AndroidやMobianにシステムアップデートがある場合も、新しいバージョンのboot.imgを忘れずにバックアップしてください。

5. まとめ
#

この方法はPCなしでも操作できますが、それでも少し面倒です。TWRPの読み込みにも時間がかかりますからね。

ちなみに、現在Renegade Projectはすでに開機觸控選單を開発しており、Windowsで起動するかAndroidで起動するかを選べるようになっています。この方面では、彼らは確かにかなり強いです。

それでも私はLinuxを使うことを選びます。小米Poco F1について言えば、Ubuntu touchではカメラが正常に動作し、Waydroidもあるため、Ubuntu touchでAndroidを置き換えるのは可能だと思います。そして将来Mobian/postmarketOSが最後のカメラドライバー問題を解決したら、単一システムだけをインストールすればよくなります。これらのシステム構造は、PC向けLinuxディストリビューションにより近いからです。

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。