今回は古い Android スマホにカスタム ROM を焼いてみました。
可能な限り調べたのですが、間違った内容が含まれているかもしれません。
もしも、この記事を参考にして作業した結果、スマートフォンが使用不可になったり、その他なにかしらの不利益があなたに生じたとしても責任は負えませんので、もし参考にする場合は自己責任でお願いします。
もちろん、メーカー補償は一切ありません。
エンジニア転職を目指すなら⇒テックキャンプエンジニア転職スマホで動く Ubuntu 。
Nexus 5 に Ubuntu Touch インストールしてみました。
Ubuntu Touch は思っていたよりも簡単にインストールできました。
今回は Ubuntu Touch について紹介します。
カスタム ROM って何?
その前にカスタムROMについて少し話しておきたいと思います。
Android は、AOSP (Android Open Source Project) というプロジェクトで開発が行われており、名前の通りオープンソースなのでソースコードは誰でも手に入れることができます。
スマートフォンやタブレットなどの各メーカーは、このソースコードに各端末で動作するよう手を加えインストールして販売しています。
そのソースコードを利用して、世界中の有志が開発した OS が「カスタム ROM」と呼ばれます。
おっさんとしては ROM という呼び方に違和感がありますが、それについてはまた別の機会にお話したいと思います。
ま、とにかく最近、このカスタム ROM に興味を持っていたので、やってみることにしました。
カスタム ROM のメリットとデメリット
メリット
- 最新バージョンを試すことができる。
- 日本語未対応の機種でも日本語化できる。
- OS を変えることができる。
デメリット(というかリスク)
- メーカー公式のアップデートや公式の保証が無くなる。
- 失敗すると文鎮化する。
- アンロックするのでセキュリティが低下する。
カスタム ROM を焼くまでの準備。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/P1050073.jpg?resize=800%2C450&ssl=1)
パソコンの OS と、スマートフォンのカスタム ROM のインストールはちょっと勝手が違います。
- デバイスのアンロック
- ADB 環境の準備
- カスタムリカバリー TWRP の導入
- カスタム ROM の入手
- カスタム ROM 焼く
パソコンに Linux をインストールするときとは、結構違いますね。
今回、カスタム ROM を試して見るにあたって、先日ツイートした通り、かつての Google 公式デバイス Nexus5 を中古で手に入れました。
Google 公式ということで、出荷台数も多く、対応しているカスタム ROM も多いに違いないと思ったからです。
調べてみると、さすが Nexus 5 です。
情報はたくさんありました。
その中のひとつに Ubuntu Touch (ubports) を見つけ、最近 Ubuntu にハマっているコダシマは、まずはそちらを試してみることにしました。
Ubuntu Touch って何?
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/P1050077.jpg?resize=800%2C450&ssl=1)
Ubuntu Touch は UBports Community によって開発・保守されているモバイルバージョンの Ubuntu です。
タッチスクリーン環境で使うことを前提に設計されていますが、「デスクトップモード」でデスクトップコンピュータとしても機能させることができます。
対応するデバイスは制限があるので、ちょっと心配しましたが Nexus 5 であれば問題なく対応しています。
Ubuntu Touch devices: https://devices.ubuntu-touch.io/
以前は Android ベースの Ubuntu も開発されていたようですが、現在モバイル端末で使える Ubuntu は Ubuntu Touch のみとなってます。
また、先程も触れたとおり多くのカスタム ROM は Android をベースとしていますが、Ubuntu Touch は数少ないそれ以外の OS です。
Ubuntu Touch のインストール。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/P1050067.jpg?resize=800%2C450&ssl=1)
通常のカスタム ROM の場合、先程も触れたとおり、パソコンに繋いでワチャワチャとあれこれやらなければいけません。
Ubuntu Touch もパソコンにはつなぎますが、そこまでワチャワチャする必要が無いのです。
なぜなら、専用のインストーラーがあるからです。
Install Ubuntu Touch: https://ubuntu-touch.io/get-ubuntu-touch
Ubuntu 系のディストリビューションを使っていれば、なおのこと簡単です。
今回は Ubuntu 搭載機に Ubuntu Touch のインストーラーをダウンロードしてインストールします。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/1f2cd2aa0deb11cd33e6567979e5cdaa.png?resize=800%2C450&ssl=1)
インストールガイドも動画で用意されていますが、ちょっとバージョンが古いため見た目が違っています。
少し戸惑うかもしれませんが、とても参考になります。
とにかく Nexus 5 を Ubuntu 搭載機に接続して、 Ubuntu Touch のインストールを始めます。
Android Debug Bridge 環境の構築。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/adc570f2fc7ea17d7720c5f18352db66.png?resize=800%2C450&ssl=1)
あ、
ちょっと忘れてましたが、Android 端末をいじるということで、先程の ADB 環境とやらを事前に整えていました。
ADB 環境とは Android Debug Bridge の略で、パソコンとデバイスの間で通信してアレコレ操作するコマンドラインツールです。
Linux や macOS の場合、簡単に構築できます。
Andoroid も Linux の仲間ですからねー。
Ubuntu 系や Debian 系の場合、Synaptic パッケージインストーラーで adb を検索してインストールするか、コマンドでインストールします。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/29a6cedf5f548d4257dab09e2c66f0f6.png?resize=800%2C450&ssl=1)
コマンドで操作する場合には
$ sudo apt install adb
でインストールできます。
あと、デバイスにパッケージを書き込むためのツール Fastboot もインストールしておきました。
こちらも Synaptic パッケージインストーラーで fastboot を検索してインストールするか、コマンドでインストールできます。
$ sudo apt install fastboot
バックアップ。
で、今回使う Nexus5 は、カスタム ROM を試すためだけに手に入れたので必要なデータとかはありませんが、残しておきたいデータなどがある場合には、Google ドライブにバックアップしたりしておくことをおすすめします。
システムのバックは後で別途行いますが、その前に Google アカウントで Google ドライブにバックアップしておくと、インストール済みのアプリ情報や、アカウント情報などがカスタム ROM 導入後に復元する際簡単に出来るようになります。
- ただしアプリ内の設定は消えてしまうので注意してください。
- 例えば LINE のトーク履歴などは消えてしまいます。
- アプリ内の設定などは、アプリでのバックアップを別途行ってください。
バックアップについては Android のバージョンにより異なりますが、概ね「設定」>「Google アカウント」>「バックアップ」>「今すぐバックアップ」で行なえます。
ブートローダーのアンロック後に初期化されてしまうため、バックアップはその前にとっておきましょう。
BootLoader のロックを解除する。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/9de33455f6512f1efb71a7497aad8122.png?resize=800%2C450&ssl=1)
Android デバイスをいじくるには、まず Bootloader のロックを解除しなければいけません。
Bootloader は、Android の起動時に ROM を読み込んで起動させるプログラムです。
通常はアレコレいじられないようにメーカーでは Bootloader にロックをかけています。
カスタム ROM を導入するには、この Bootloader の書き換えを行う必要があります。
ロックの解除方法は機種によって違うため、事前に確認しておきましょう。
専用のアプリを使ったりする方法や PC に接続してツールを使う方法など色々あります。
もしもあなたの機種のアンロック方法が公開されていなければ、情報がない中で破損のリスクを背負いながら、険しい道を進むことになると思うので、その覚悟がなければ諦めたほうが良いかと思います。
ですが、基本的には次の方法でアンロックできます。
開発者オプションを表示させる。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/528ef6c77de9e9b7fdea5b749b874d1a.png?resize=800%2C450&ssl=1)
設定には「開発者向けオプション」という項目がありますが、初期設定では表示されていません。
表示するには「端末情報(またはデバイス情報)」>「ビルド番号(または MIUI バージョンなど)」を7回タップすると解除されます。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/eb0a39473d71c320d53c471c30180d06.png?resize=800%2C450&ssl=1)
※メーカーによって異なります。
開発者向けオプションは「設定」>「追加設定」の中に表示されています。
OEM ロックを解除する。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/6b4d36c604c751d38dbe51f38586e95e.png?resize=800%2C450&ssl=1)
「開発者向けオプション」>「OEM ロック解除」と「 USB デバッグ」にチェックを入れておきます。
これでいじくり回す準備が整いました。
デバイスのフラッシュ: https://source.android.google.cn/setup/build/running
Ubuntu Touch のインストール。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/6b2d22582698acadb05bfd393d9bb3fd.png?resize=800%2C450&ssl=1)
今回インストールする Ubuntu Touch をインストールするためのソフトウェア、UBports Installer を起動させます。
何やら表示されますが、「 Ignore (無視する) 」をクリックして進めても大丈夫でした。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/92f06a32aca36328a514abe1a8c8d5aa.png?resize=800%2C450&ssl=1)
次に Fastboot モードで起動させた Nexus5 をインストーラーの入っている Ubuntu 搭載機に接続します。
「 Select device manually 」をクリックし、接続したデバイスの名前を探し出します。
今回は「 Nexus 5 」ですね。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/d8094e03fa4216326df2760157359584.png?resize=800%2C450&ssl=1)
「 Confirm your model (モデルを確認する)」として、選んだモデルに間違いがないか確認されます。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/9c22b5037686789fc77b9f72eb62481b.png?resize=800%2C450&ssl=1)
「 OK 」ボタンしか無いのでクリックして進めます。
OS の項目で何やら選択できそうな気配でしたが、実際には「 Ubuntu Touch 」しか選択することができませんので、そのままで大丈夫です。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/b33ddf623a218c677adec79698efd89f.png?resize=800%2C450&ssl=1)
あとは「 Install 」ボタンをクリックしてインストールを始めます。
「 Install options 」としていろいろ表示されます。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/8d76f0b1c77bbb6fe8c6d2b729699f3f.png?resize=800%2C450&ssl=1)
「 Channel 」ではイロイロ選べそうですが、「Stable (安定版)」が良さそうなのでそのままにしておきます。
予め「 Bootstrap」にチェックが入っています。
ブートストラップとは外部入力無しで実行される自己開始型のプロセスのことを呼びます。
ということは、インストーラーが勝手にやってくれることなのかな?
ちなみに Bootstrap って Web アプリケーションフレームワークで出てくる言葉なんですが、それと違いますね。
他にも「 Wipe Userdata (ユーザーデータを拭き取る)」とか、「Format system partitions (システムパーティションを初期化する)」などありますが、まずは初期設定で試してみます。
「 Next 」をクリックしてインストールを始めます。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/e2de26e247c91f813123646fd054fd61.png?resize=800%2C450&ssl=1)
Reboot to Bootloader ということなので、画面の指示通り Fastboot モードで起動させました。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/ce7a5cb6ab30e36ea0d028af1bacdfd7.png?resize=800%2C450&ssl=1)
Nexus5 が起動したら、「 Continue 」をクリックして進めます。
Bootloader ロック解除のメッセージが出るので「 Unlock 」をクリックして先に進めます。
デバイス側でも操作が必要なのですが、タップとかでは操作できません。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/70717246b9c6c575dd5c33962a6b3253.png?resize=800%2C450&ssl=1)
ボリュームボタンの上下で選択し、電源ボタンで決定です。
画面を眺めていると、イロイロ作業が進んでいるのがわかります。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/a2a455721f605be42fba14e8b5cc9581.png?resize=800%2C450&ssl=1)
で、いい調子で進んでいるなーとか思ったのですが、途中でデバイスが迷子になったみたいです。
理由はわかりませんが、とりあえず「 Try again」をクリックしてみました。
いくら待っても迷子のままのようなので、思い切ってやり直してみることにしました。
※あとからわかったのですが、このデバイス、どうやらバッテリー周りに不具合があるみたいです。
やり直してみると、うまくいきました。
そのままインストールが終わり、デバイス側では自動で再起動されます。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/9473599cd59c44251e162a851873c787.png?resize=800%2C450&ssl=1)
インストーラー側では「 Report your result (結果を報告する)」が表示され、
- No, don’t ask me again (いいえ、二度と聞かないでください)
- Dismiss (退出させる)
- PASS (パスしました)
- WONKY (あてにならない)
- FAIL (失敗しました)
のボタンが表示されます。
好みに応じてクリックしてみてください。
どの OS でも同じことですが、初回起動時は時間がかかります。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/c9147d8951a3cbc0fc9005653266592c.png?resize=800%2C450&ssl=1)
今回はおよそ5分ほど待ちました。
…ただし何時間待っても初期設定画面が表示されない場合は、インストールが失敗している可能性があるので、はじめからやり直してみたほうがいいです。
Ubunu Touch を使ってみた。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/8b5f34fbee8162488dfc60e36836709d.png?resize=800%2C450&ssl=1)
さっそく起動した Ubuntu Touch をいじってみました。
初期設定
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/bb7a9e03364e7c3d032fecc95d18499a.png?resize=800%2C450&ssl=1)
日本語にも対応しています。
けっこう下にありますが、ちゃんと日本語もあります。
初期設定については特別難しいところは無いかと思います。
操作感
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/74695e5066998e6bb74d42e9b0865678.png?resize=800%2C450&ssl=1)
コダシマが思ったこと。
Android は縦、Ubuntu Touch は横。
どういうことかというと、メニューの表示やタスクの表示が Android の場合、縦方向に操作することが多いです。
それに対して Ubuntu Touch は同様の操作を横方向に行うことが多いです。
ちょっと違和感がありましたが、片手で操作する場合には、Ubuntu Touch のほうが向いてるかも?と思いました。
でもこれはきっと好みが別れます。
で、けっこう重たい感じを受けます。
サクサクなめらかに動作しないのはデバイスのせいなのか、OS のせいなのか、はじめての Ubuntu Touch なので、残念ながら現時点では判断できません。
アプリのインストール
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/62ba40ee2a90a2f706ac41b7e729698a.png?resize=800%2C450&ssl=1)
アプリの追加をしたい場合には「 OpenStore 」で行います。
Ubuntu では見慣れたアイコンですね。
カテゴリーからとかでもインストールできますが、名前がわかっていれば検索をかければ早いです。
アプリケーション。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/4ada1c599c716b27a75bd1b1d1098e30.png?resize=800%2C450&ssl=1)
パッケージの数はやっぱり Android には負けますが、個人的によく使う Twitter や Youtube といった大定番は用意されています。
よく見ると Web アプリとかの表記があります。
実際 Web アプリの表記のあるものは、iOS や Android で見たそれとずいぶん違うものがありました。
どうやらブラウザ経由で動作させてるっぽい感じです。
まぁ、使い方は限定されてしまいますね。
Twitter は、まぁなんとか使えるかな?という感じでしたが、Youtube がちょっと残念でした。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/c966c53d358345369e7f9c8a6ab5fcc5.png?resize=800%2C450&ssl=1)
アプリ自体は悪くないのですが、動画がなんかカクカクします。
デバイスに問題あるのかアプリに問題があるのかわかりませんが、ちょっと残念な感じでした。
参考までに Linux アプリをインストールする事ができる Libretine や Android アプリを動作させるようにすることが出来る anbox というものもありますが、現時点ではどちらも実用性に欠けます。
また今後ユーザービリティの改善などなどがすぐに行われる気配もありませんので、現状は使えるものを間に合わせで使っていく感じですかね。
で、最初の方で話したデスクトップモードですが、Nexus5 では項目が見つけられませんでした。
が、Nexus7 ではデスクトップモードに切り替えることができました。
アプリの扱いなどが、なるほどデスクトップ OS っぽい。感じがします。
まとめ。
![【さらば Android ?! 】スマホで動く Ubuntu Touch を試してみた。](https://i0.wp.com/pc-freedom.net/wp-content/uploads/2021/01/a907bcaea5f676c1ba3d95d7f3904e1f.png?resize=800%2C450&ssl=1)
今回のまとめです。
今回は Nexus5 に Ubuntu Touch をインストールしてみました。
どうしてもスマホの中身をいじる場合には ADB や Fastboot コマンドを使う必要があったようですが、インストーラーがだいたいの部分をやってくれるので思っていたよりも簡単に作業をすることができました。
実用面で言えば Android ベースの OS には敵わない部分が多いかと思いますが、カスタム ROM に興味があって、かつ対応するデバイスを持っているのであれば、話のネタに試してみるのも面白いかと思います。