Google Pixel3aにUbuntu Touchをインストールする

## はじめに
Google Pixel3aにUbuntu Touchをインストールする手順をまとめました。
スマホでUbuntuを使用できるようになります。

![GHgM-WeaQAAVCCL.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/8a0d62c3-ec37-6f18-3951-68f696ac5ac2.jpeg)



:::note warn
この記事での操作は様々なリスクを伴いますので、自己責任で実施してください。
・スマホ内のデータは初期化されます。
・OSのダウングレードを伴いますので、セキュリティが脆弱になる可能性があります。
・最悪の場合、スマホが文鎮化する可能性があります。
:::

## 実行環境
**PC**
Windows 10 pro

**スマホ**
Google Pixel3a
Android version 12.1.0

## 手順
[ubuntu touchの公式サイト](https://devices.ubuntu-touch.io/installer/)でインストール手順を確認します。
>You can install Ubuntu Touch on this device using the UBports Installer on your computer.
Unless device specific instructions are provided by the porter, please follow these general steps:
1.Unlock the bootloader, please search the internet for instructions
2.Install the required Android/stock rom version ¹
3.Select the appropriate installer package for your computer
4.Plug in your device and follow the on-screen instructions
5.The installer will take it from there
¹ Devices generally require a specific version of Android/stock rom to be installed. This depends on the halium version the port is build on. For example, if the port is based on halium 9, make sure you have Android version 9 installed before running the installer.


公式の手順をもとに、以下の手順で実施します。
（公式サイトの3.から5.を、手順3としてまとめています。）
手順1: [スマホのブートローダーのアンロック](#手順1-スマホのブートローダーのアンロック)
手順2: [Androidバージョンの確認と設定](#手順2-androidバージョンの確認と設定)
手順3: [Ubuntu Touchのインストール](#手順3-ubuntu-touchのインストール)


## 手順1: スマホのブートローダーのアンロック
### スマホの事前準備
設定の[デバイス情報]から[ビルド番号]を7回タップします。
これでAndroidの開発者モードが使用できるようになります。
![68747470733a2f2f71696.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/19f1c001-4af7-a940-7494-1c909ea3e97c.png)

[システム]-[開発者向けオプション]の[USBデバッグ]をONにします。
USBケーブル経由で、パソコンからスマホを操作できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/d79db894-e8f9-00a1-3ba6-9a0b74ec9394.png)

同じく[開発者向けオプション]の中にある[OEMロック解除]を確認します。
グレーアウトしている場合、携帯通信会社の手順にしたがってOEMロック解除する必要があります。

:::note info 
私の場合は[ソフトバンクの手順](https://www.softbank.jp/mobile/support/usim/unlock_procedure/)に従って解除しました。
スマホは中古で購入したものだったのですが、ソフトバンクIDを作成すれば直接の購入者でなくてもロック解除は可能でした。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/66242f84-48fa-9cab-e124-029b91e585f3.png)

OEMロックを解除したら、[OEMロック解除]をONにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/e0f72b16-8429-ac41-08d3-1adc2f13e2c4.png)

以上でスマホ側の準備は完了です。

### パソコンにadbをインストールする
[Google デベロッパーのサイト](https://developer.android.com/tools/releases/platform-tools?hl=ja
)からWindows版の「SDK Platform-Tools」をダウンロードします。

ダウンロードしたzipファイルを展開して、任意のフォルダに配置します。
私はC:\WorkSpace\platform-toolsに展開しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/5950e57c-2691-dc02-1e28-3ef9514d4f27.png)

パスを通しておきます。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/56c20cb0-b2a7-ec12-de15-967108d58c43.png)

コマンドでadbを実行できれば、パソコンでの準備は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/34ce4164-772d-c9f3-a3e5-3222b6cf4d15.png)

### ブートローダーのアンロックを行う
パソコンとスマホをUSBケーブルで接続します。
スマホにメッセージが出るので、接続を許可します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/80a29d3a-c670-78f9-76b7-f4fa199a1ef6.png)

コマンドプロンプトを起動します。
以下のコマンドを実行して、スマホのブートローダーを起動します。
```console
adb reboot bootloader
```

コマンドが成功したら、スマホが次のような画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/2223a9db-c433-ddfe-5ebc-0a469e2e470a.png)

さらに以下のコマンドを実行して、スマホのブートローダーを起動します。

```console
fastboot flashing unlock
```

スマホ側で音量の上げ下げボタンを押して、[Unlock the bootloader]を選択します。
電源ボタンで決定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/ac758793-9223-2f86-0755-3c5e58a2c852.png)

Device stateがunlockedになったことを確認して、Startを選択します。
（画像がぼやぼやですいません……）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/ab165cc3-926e-0512-954d-1cde87c20af8.png)

そのままAndroidが起動したら、ブートローダーのアンロックは完了です。
この時点でスマホは初期化されています。
再度、 [スマホのブートローダーのアンロック](#手順1-スマホのブートローダーのアンロック)の「スマホの事前準備」を行って、USBデバッグを有効にしてください。

## 手順2: Androidバージョンの確認と設定
[Ubuntu Touchの公式サイト](https://devices.ubuntu-touch.io/device/sargo/)で、Google Pixel3aにUbuntu Touchをインストールする場合に要求されるAndroidのバージョンを確認します。
2024年3月時点でAndroidバージョン9.0、「PQ3B.190801.002」とあります。
>How to install Ubuntu Touch OS
>You can install Ubuntu Touch on this device using the UBports Installer on your computer.
>
>Make sure your device is unlocked and has the required version of Android installed. Before >installing, follow the device-specific instructions below:
>
>If the device is running an Android version above 9.0, you have to downgrade to the last 9.0 >release. Make sure to revert to factory image **PQ3B.190801.002** before continuing.

設定の[デバイス情報]から[ビルド番号]を確認します。
現在インストールされているのはAndroidバージョン12、「AP2A.220505.008」ですので、ダウングレードが必要です。
もしすでに該当のビルド番号であれば、以下の手順はスキップして、[Ubuntu Touchのインストール](#手順3-ubuntu-touchのインストール)に進めます。
![68747470733a2f2f71696.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/19f1c001-4af7-a940-7494-1c909ea3e97c.png)

コマンドプロンプトで次のコマンドを実行して、スマホのブートローダーを起動します。
```console
adb reboot bootloader
```
スマホがfastbootモードで起動します。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/b4dbfaa1-8aab-5831-2835-57e672a3cca4.png)

ここでWindowsのデバイスマネージャーを起動します。
Google Pixel3aのロゴに何もついていなければ、問題ありません。
警告マークがついていればUSBドライバーをインストールする必要がありますので、先に[ドライバのインストール](#ドライバのインストール)を行ってください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/df9369cc-ef18-87ae-deb3-14f5dd60859f.png)

[Google デベロッパーのサイト](https://developers.google.com/android/images?hl=ja#sargo)から9.0.0（PQ3B.190801.002）のファクトリーイメージをダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/ba96ac68-06e9-5afe-3c2c-4afcab06f408.png)

ダウンロードしたzipファイルを展開して、「flash-all.bat」を実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/0898c941-959e-5efe-81eb-5a7f67f4cfcd.png)

コマンドプロンプトが立ち上がるので、「Press any key to exit...」と表示されるまで待ちます。
![スクリーンショット 2024-02-29 163841.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/3904ce93-e641-594f-3d2b-0124d37be92f.png)

自動でAndroidが起動します。
バージョン情報を確認して、バージョンが「9」、ビルド番号が「PQ3B.190801.002」であればダウングレード完了です。
![LINE_ALBUM_Android_240314_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/8742d1a8-e7c7-c3f2-6367-c6fa02f4a061.jpeg)


## 手順3: Ubuntu Touchのインストール
[ubuntu touchの公式サイト](https://devices.ubuntu-touch.io/installer/)からインストーラをダウンロードします。今回はWindows版をダウンロードしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/f9f3fed3-c58f-fc13-60de-51e1a75850ab.png)


インストーラを起動します。
![スクリーンショット 2024-02-29 164541.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/280a114b-eea4-4840-5618-831fde3ba732.png)

スマホとパソコンが正常に接続されていれば、自動でこの画面になります。
Androidのバージョンに関するメッセージが出てきますが、すでに対応済みなので「My device is unlocked」を選択します。
![スクリーンショット 2024-02-29 164700.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/2e8c9003-2e24-136d-e399-609f7f6c88ea.png)

画面に従って、以下の２点を確認してください。
・スマホが「開発者モード」になっていること
・OEM解除されていること

:::note info
 [スマホのブートローダーのアンロック](#手順1-スマホのブートローダーのアンロック)を参照してください。
:::
OSでUbuntu Touchを選択して、「Install」を押します。
![スクリーンショット 2024-02-29 164823.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/ba46e965-8e4e-8f6e-e24b-8b13ae3049ca.png)

以下の設定で[OK]を選択します。
Channel：20.04/stable
Wipe Userdata：Check
Bootstrap: Check

:::note warn
キャプチャではWipe Userdataにチェックが付いていませんが、必ずチェックを付けてください。
チェックつけずにインストールしたところ、後のリカバリーモードのところでインストールに失敗しました。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/1946dba5-3cd8-ff09-0ce7-c068168c758c.png)

スマホの画面が「Fastbootモード」であることを確認してください。
確認ができたら、音量の上げ下げボタンでリカバリーモードを選択し、電源ボタンで選択します。
本当にリカバリーモードモードにするか、といった警告が出るので、もう１回電源ボタンを押します。

:::note warn
ちなみに先ほどのWipe Userdataにチェックが付いていないと、リカバリーモード移行後にそのまま先に進めなくなります。
USBケーブルを抜いて、スマホの電源ボタン長押しで再起動したらAndroidが起動して、一からやり直せました。
:::
![スクリーンショット 2024-02-29 165806.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/1f66d27d-74de-27bd-1e93-45ab814c7478.png)


10分ほど待ったら、インストーラで完了の画面が出ます。
![スクリーンショット 2024-02-29 173150.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/4a675c5c-8910-00e8-366d-327a3e60fcec.png)

スマホにUbuntuの画面が出るので、画面の指示に従って初期設定を完了させます。
![106283.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/105930d3-17ca-0f77-372b-d342af6b383e.jpeg)

以上でインストールは完了です。
お疲れ様でした！

## ドライバのインストール
[Google デベロッパーのサイト](https://developer.android.com/studio/run/win-usb#top)からドライバをダウンロードして、zipファイルを展開します。

デバイスマネージャーで「Pixel 3a」を右クリックして「ドライバーの更新」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/19e7d408-4092-db92-88cd-382e84d0581b.png)

「コンピュータを参照してドライバーを検索」を選択して、展開したzipファイルを選択します。
![スクリーンショット 2024-02-29 155029.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/930094/591cc9a9-3c7a-95d9-6739-4ca546770e06.png)

デバイスマネージャから警告マークが消えたら完了です。

## 謝辞
以下の投稿には大変お世話になりました。
https://sp7pc.com/google/android/42864
https://pc-freedom.net/linux/ubuntu-touch-ota-1-focal-complete-guide/
https://manumaruscript.com/fastboot-flashing-unlock-waiting-for-any-device-error/