皆さんは古くなったスマホどうしてますか?
コダシマはそれを使って何かしたくなるタイプです。
今回は Android でもない、iOS でもない、ましてや Ubuntu Touch でもない全く別のモバイル OS 「postmarketOS」を Google Nexus5 にインストールして遊んでみたいと思います。
正直なところ、postmarketOS は実用性がありません。
でもロマンがあります!というか、ロマンしかありません。
なので、実用性を求める皆さんはまた別の機会にお会いいたしましょう。
ということで、今回はロマンを求めるあなたに向けてお送りいたします。
それでは、いってみましょう!
postmarketOS とは?
まず、postmarketOS をご存知ない方のほうが多いと思うので、先に postmarketOS について簡単に紹介しておきましょう。
postmarketOS は、スマートフォンやタブレットなどのモバイルデバイス向けのオープンソースのオペレーティングシステム (OS) です。この OS の目的は、モバイルデバイスの寿命を延ばすことで、電子廃棄物の問題を軽減することです。
通常、スマートフォンは新しい OS のアップデートを受けられる期間が限られています。そのため、デバイスが古くなると、セキュリティの問題や新しいアプリが使えないなどの問題が生じます。その問題を解決する目的で、postmarketOS は、古いデバイスでも最新のソフトウェアを使用できるように設計されています。
postmarketOS は、軽量でセキュリティに優れた Linux ディストリビューションである Alpine Linux をベースにしています。そのため、さまざまな種類のデバイスに対応しており、ユーザーは自分のデバイスに最適なカスタムビルドを作成できます。
また、postmarketOS はオープンソースであり、誰でもソースコードを閲覧したり、改良したり、自分のデバイスにインストールしたりすることができます。これにより、ユーザーは自分のデバイスを自由にカスタマイズし、最新のソフトウェアを楽しむことができます。
とサイト上では申しておりますが、いかんせん初心者向けではありません。
そこを何とか素人でもやってみようというのが趣旨です。
postmarketOS でも Ubuntu Touch のインストーラーほど簡単では無いですが、インストール用のツールがあるので、それを使います。
それでは作業に取り掛かりましょう。
セクション1: PC (Debian/Ubuntu) の設定
まずはじめに、PC の設定から始めましょう。
ここでは Debian ベースの open.Yellow.os を使用しています。そのため今回紹介する手順は Linux (Debian/Ubuntu) 環境のものになるため、Windows 環境で行う手順とは若干異なる部分があるためお気をつけください。
何れにせよ、準備として必要なツールをインストールします。
PC で Android 端末を操作するために必要な adb と fastboot、そして postmarketOS をインストールするためのプログラムに必要な git をインストールしましょう。
まずは、システムを最新の状態に更新しましょう。
コマンドはこちら。
sudo apt update
sudo apt upgrade
システムが最新状態になったら、次に Android の adb と fastboot をインストールします。
sudo apt install android-tools-adb
sudo apt install android-tools-fastboot
ちなみに adb は Android デバイスと PC を接続し、コマンドラインからデバイスを操作するためのツールです。そして fastboot は、Android デバイスのブートローダーを操作するためのツールです。
最後に、git をインストールします。git は、ソースコードのバージョン管理に使用されます。
sudo apt install git
これで、PC の設定は完了です。次に、Nexus5 の設定に移りましょう。
セクション2: Nexus5の設定
それでは、Nexus5 の設定です。
まず、Nexus5 の Android も最新版に更新します。
Google の公式サイトから、Nesxus5 の最終版となる 6.0.1 のイメージをダウンロードし、インストール用のシェルスクリプト (flash-all.bat(sh)) を使用してインストールするのが最も再現性が高いかと思います。
https://developers.google.com/android/images?hl=ja
もしも、すでに Nexus5 が 6.0.1 になっている場合は、この手順はスキップしても OK です。…というか、実は旧バージョンでも大丈夫っちゃあ、大丈夫
次に、PC から操作できるようにするために、開発者モードを有効にし、USB デバッグを ON にします。
これには、Android の設定画面から「端末情報」を選択し、項目の一番下にある「ビルド番号」を 7 回タップします。
「設定」➡「端末情報」➡「ビルド番号」×7回タップ
これで、開発者モード(メッセージではデベロッパーモードとなっています)が有効になります。
設定画面の中に「開発者向けオプション」が表示されるようになりました。
次に、「開発者向けオプション」から「USB デバッグ」を ON にします。
「設定」➡「開発者オプション」➡「USB デバッグ」➡ ON にする
これで、Nexus5 の設定は完了です。
今度は、postmarketOS のインストールに移りましょう。
セクション3: postmarketOSのインストール
それでは、postmarketOS のインストールです。
まずは、GitLab から pmbootstrap.py というプログラムをダウンロードします。
この pmbootstrap は、一言でいうと postmarketOS の開発とインストールを支援するツールです。
もう少し詳しく説明すると、このツールは postmarketOS の開発者やユーザーが、さまざまなデバイスに対応したカスタムビルドの postmarketOS を作成し、それをデバイスにインストールするための作業を簡素化するためのツールです。
以前は、各 Linux ディストリビューションでパッケージが配布されていましたが、現在ではなくなってしまい、その代わり同じ機能を持つ Python で書かれたプログラムが GitLab で提供されています。
これを使っていきます。まずはクローン。
cd #わかりやすいようにホームディレクトリにクローンします。
git clone https://gitlab.com/postmarketOS/pmbootstrap
cd pmbootstrap/
次に、pmbootstrap の初期設定を行います。
./pmbootstrap.py init
初期設定は、概ねデフォルトのままで良いですが、ベンダーやデバイスコード、ユーザーインターフェースの項目は指定しなければいけません。
UI の選択肢はいくつもありますが、Nexus5 のパフォーマンス制限もあり、それぞれに利点と欠点があります。今回はたくさんある UI のなかで、Nexus5 でも動作し、かつモバイル OS らしいインターフェースの「phosh」を選択しました。
https://wiki.postmarketos.org/wiki/Category:Interface
初期設定が終わったら、イメージのインストールを行います。
./pmbootstrap.py install --no-fde
./pmbootstrap.py shutdown
イメージのインストールが完了したら、Nexus5 にイメージファイルをコピーします。
ここで Nexus5 を Fastboot モードにし、PC とケーブルで接続します。Nexus5 を Fastboot モードにするには、電源が切れた状態で、ボリュームダウンを押しながら電源ボタンを押してください。
接続したらコマンドを入力して、イメージファイルのコピーを行います。
./pmbootstrap.py flasher flash_rootfs --partition userdata
./pmbootstrap.py shutdown
毎回 shutdown しなきゃ無いの?とか思うのですが、プログラムの仕様上、毎回しなきゃ無いみたいです。
次に、Nexus5 に Kernel を書き込みます。
./pmbootstrap.py flasher flash_kernel
./pmbootstrap.py shutdown
これで、一通りの手順は終わりです。あとは、Nexus5 を再起動するだけです。
というか、system off にすると自動的に立ち上がります。
もしかしたら、上の写真のような画面が表示されるかもしれませんが、起動前の初期設定が行われているために表示されるので、驚かなくても大丈夫です。
インストールが成功していれば postmarketOS が起動し、選択したウインドウマネージャが立ち上がります。
これで、postmarketOS のインストールは完了です。
以上で、Nexus5 に postmarketOS をインストールする方法の説明は終わりです。
ではこの、インストールした postmarketOS がどんなものか少し見てみましょう。
postmarketOS の使用感
Nexus5 という古くて低スペックのデバイスを使ったためか、操作感はよくないです。
ユーザーインターフェースで使い心地は変わるのですが、今回選んだ “phosh” が、Nexus5 向けとしては最もモバイル OS っぽいベターなものになります。
この UI の他にも Plasma-mobile や Gnome-mobile といった、モバイル向けにカスタマイズした UI もありますが、Nexus5 ではパフォーマンスに問題があり、まともに動いてくれません。
https://wiki.postmarketos.org/wiki/Category:Interface
また、phosh よりも軽量な UI もありますが、それはそれでキーボードやマウスなどの入力デバイスが別途必要になったりと、モバイル OS っぽくない一面があります。
それらの間でちょうど良かったのが phosh というわけです。
また postmarketOS は「Alpine Linux をスマホに入れた」ようなイメージなので、Android アプリは使えません。
かと言って Linux のアプリが使えるかというと、そうでもありません。
使えてもごくごく一部です。
もう少しスペックの高いデバイスであれば、もしかしたら?とも思いますが、アーキテクチャの都合などもあると思うので期待しないほうが身のためです。
まだ Ubuntu Touch のほうが実用性があります。
でもまぁ、Android 以外のモバイル OS の可能性という面ではロマンを感じざるを得ません。
これはモバイル OS の冒険とも言えるでしょう。
postmarketOS のまとめ
今回は Nexus5 に postmarketOS をインストールするという冒険を一緒に楽しんでいただきました。
正直なところ、今回の postmarketOS はデバイスの寿命を伸ばすという面においては、実用性が少々足りなかった印象を受けましたが、古いデバイスでも新しい命を吹き込むこと、その可能性を探求するのは、いつもワクワクします。
今回使った Nexus5 は、もうだいぶ古いデバイスなので、メンテナンスの優先順位が下がってしまったと言わざるを得ません。postmarketOS のサイトにある Nexus5 へのインストールの説明は、以前のもののままなので、わかりにくい部分が多いかと思います。
しかし pmbootstrap というツールを使うことで、比較的かんたんにインストールすることができたと思います。
Nexus5 は今でも中古品が出回っており、程度にこだわらなければ 2,000〜3,000 円程度で手に入ったりします。人気の高いデバイスで、多くのカスタム ROM が提供されているので、今回の postmarketOS に限らず、Ubuntu Touch や、さまざまな OS をインストールして遊ぶのには丁度よいでしょう。
以上、皆さんがこの情報を役立てて、自分のデバイスの可能性を広げることを期待しています!