Re:シルの日々の戯言。

散財が生き甲斐になりかけている、デジタルガジェット大好き自称黄色いネズミの戯言。

やっとLineage OS 18.1がEssential Phone PH-1に入った

2021年4月1日にLineage OS 18.1がリリースされ、手持ちのEssential Phone PH-1にもROMイメージが公開されているので実は4月上旬から手持ちのPH-1でLineage OS 18.1を楽しめないか*1試していました・・・が、Lineage OS 18.1自体は入るものの、どうしてもGoogle Playが入らず。
lineageos.org

いつも通りにOpenGAppsから落とそうとするも、どうやらまだベータ版の扱いのようで、TEST版しかダウンロードできないのでそれが原因かと思っていました。
sourceforge.net

私の場合、Android端末の延命目的でLineage OSを利用しているため、root云々はどうでも良いのですが*2Google Playが入らないと意味が無いのでさてどうしたものか・・・と放置して2か月近くが経ってから以下のドキュメントの存在に気付きました。
wiki.lineageos.org

Version Link
Lineage 18.1 (Android 11) MindTheGapps (mirror)

・・・Lineage OS 18.1はMindTheGapps*3が推奨でOpenGAppsはそもそも対応してないやんけ(白目)

Lineage OS 18.1をPH-1に入れる方法

自己ナレッジの意味合いも含めて、導入方法を綴っておくこととします。
Lineage OS 18.1の導入に必要なものは以下の5つです。

昨年まではNexus6を利用していたので、Android Studioと言うかPlatform Toolsがあれば良かったのですが、Essential Phone PH-1を利用するためには専用のUSBドライバーが必要です。
sylve.hatenablog.jp

更にその専用USBドライバーにはPH-1専用のadb/fastbootのツールが含まれるため、「Platform ToolsをGoogleから落とせばいいだろwww」と草を生やすと導入はうまく行くものの、その後のOTAで更新に失敗して文鎮化するので泣きを見ます。(1敗)*4
Googleから入手するPlatform Toolsでも書き込めちゃって、しかも初回の起動は問題なく動いてしまうのでOTAでアップデートが発生するまでは問題が表面化しないため、利用するツールには注意が必要です。・・・特に今まで(PixelなどGoogle純正端末を利用してきて)Android Studio/Platform ToolsをGoogleからダウンロードして利用してきたと言う場合は、そのままの流れで行けるだろと油断すると本当泣きを見ます。

また、USB DriverがWindows向けしか存在しないのでEssential Phone PH-1のROM書き換えを行う場合はWindows PCに限定されると思われます。
・・・まぁ、私が常用する物理Linux環境*5が手持ちに無いので、Linux環境でも書き換えできるかどうか試せないと言う理由もありますが、上記の通りadb/fastbootもドライバ付属版を使わないとよろしくない動きを示すようなので、特にOTAでアップデートさせて実運用に投入することを前提としている場合*6は素直にWindows環境で作業した方が身のためです。

必要ファイルの入手元

上記のファイルの入手元をザクっと綴っておきます。Windows PCに関しては既に所有していたり、なんならドン・キホーテ辺りで安価な奴を買ってきておいてください。(投げやり)

PH-1向けのLineage OSイメージ・カスタムリカバリイメージは機種別ダウンロードページから入手可能です。
download.lineageos.org

MindTheGappsも以下のサイトから入手可能です。ちなみにPH-1はarm64なので、ちゃんとarm64を入手しましょう。
androidfilehost.com

そしてUSB Driverですが、残念ながらEssential Phone社は既に廃業しているため、公式サイトは消滅しています。
これからEssential Phone PH-1のUSB Driverを入手したい場合はGoogle先生にお伺いをして、何処の馬の骨か分からない怪しさ爆発の自称ミラーサイトからウィルスが混入していないUSB Driverを見つけ出す必要があります。*7
www.google.com

なので、一番入手難易度が高いのはEssential Phone PH-1の(実質機種専用のadb/fastbootが入った)USB Driverだったりします。

インストール方法

公式のUSB Driverが入手出来ているのならば、公式サイトのインストールガイドに従うだけです。
wiki.lineageos.org

あ、Essential Phone公式USB Driverはインストーラー形式なので、ZIP展開だけで使える訳じゃ無いのでご注意を・・・。(むしろZIP展開でドライバのiniファイルがあった場合は「残念でした」です)

PH-1はA/B(シームレス)アップデートの対応モデルなので、パーティションのスロットがどちらなのかを多少は意識する必要がありますが、Essential Phone PH-1のUSB Driver付属adb/fastbootを使う分にはカスタムリカバリ書き込み以外はあんまり意識する必要はありません。

Lineage OS導入までの具体的な流れとしては以下の通りです。

  1. Bootloaderのアンロック
  2. カスタムリカバリイメージの書き込み
  3. カスタムリカバリからフォーマット処理
  4. カスタムリカバリのApply UpdateでLineage OS 18.1イメージ書き込み
  5. MindTheGapps書き込みに向けてカスタムリカバリ再起動
  6. カスタムリカバリのApply UpdateでMindTheGapps書き込み
  7. システム再起動でLineage OS起動確認

Bootloaderのアンロック

ザクっと流れを書くと以下の感じです。
ここから利用するadb/fastbootのコマンドはUSB Driverインストール時に合わせて導入される方を利用してください。
デフォルトだとC:\Program Files (x86)\Essential\ADB配下に格納されています。エクスプローラで記載したパスに移動し、パス項目に「cmd」と打ち込むと該当のファイルパス配下に移動した状態でコマンドプロンプトが起動します。

  1. Windows PCとPH-1を接続しておく。
  2. 設定-デバイス情報-ビルド番号の項目を連打して開発者向けオプション項目を表示させる。
  3. 設定-システム-開発者向けオプションのUSBデバッグを有効化する。
  4. PCに接続しているとPH-1の画面上に「USBデバッグを許可しますか?」と表示されるので「許可」を押下する。
  5. 「adb reboot bootloader」と入力し、PH-1で再起動・ブートローダーの画面を表示させる。
  6. 「fastboot devices」と入力し、PH-1と表示されることを確認する。
  7. 「fastboot oem unlock」と入力してブートローダーのアンロックを行う。(コマンド投入後、通常起動させようとするとデータ初期化が走るので注意)
  8. PH-1で「Restart bootloader」を選択して、ブートローダーの再起動を実施する。(ボリュームUp/Downでメニュー切り替え、電源ボタンで決定)

前半部分はLineage OS 18.1導入済みのPH-1で確認したので、標準搭載のOSとはメッセージが異なる可能性があります・・・が、ビルド番号連打は共通操作です。
いずれにせよ、Lineage OSに限らずカスタムROMの書き込みはブートローダーアンロックを実施してください。

カスタムリカバリイメージの書き込み

実際にPH-1のROM書き換えを実施していきます。
同じくUSB Driverインストール時に合わせて導入されたfastbootコマンドを使ってください。
ここだけは明示的にA/B両方にカスタムリカバリを書き込みます。・・・戯言日記の記事にしていませんが、Lineage OS 17.1をPH-1に入れたときは明示的に両面に書き込まないと上手くいかなかった・・・記憶があるので・・・。*8

  1. 「fastboot --set-active=a」と入力し、PH-1のスロットをAに設定します。
  2. 「fastboot flash boot [Lineage OSのカスタムリカバリファイルパス]」と入力して、A面にカスタムリカバリを書き込みます。
  3. 「fastboot --set-active=b」と入力し、PH-1のスロットをBに設定します。
  4. 「fastboot flash boot [Lineage OSのカスタムリカバリファイルパス]」と入力して、B面にカスタムリカバリを書き込みます。
  5. PH-1で「Restart bootloader」を選択して、ブートローダーの再起動を実施する。
  6. ブートローダー再起動後「Recovery mode」を選択してカスタムリカバリを起動する。

両面にカスタムリカバリを書き込んだら、Lineage OSの導入を進めて行きます。

Lineage OS 18.1・MindTheGappsインストール

ここから実際にLineage OSをPH-1にインストールしていきます。
また、この段階でMindTheGapps(実質的にGoogle Play)も併せてインストールしていきます。

  1. カスタムリカバリが起動したらFactory reset-Format data/factory reset-Format dataの順に選択する。(音量Up/Downで選択・電源ボタンで決定)
  2. フォーマット後、最初のメニューに戻りApply update-Apply from ADBを選択する。
  3. PH-1側が待ち状態となったら、PC側で「adb sideload [Lineage OS 18.1のZIPファイル]」と入力する。
  4. PH-1側で処理が終了するまで待つ。(PC側は47%くらいで数字が止まるが気にせずPH-1側の画面で処理が終わるまで待つ)
  5. 処理が終わったことを確認し、PH-1でAdvanced-Reboot to recoveryを選択してカスタムリカバリを再起動させる。
  6. カスタムリカバリ再起動後、Apply update-Apply from ADBを選択する。
  7. PH-1側が待ち状態となったら、PC側で「adb sideload [MindTheGappsのZIPファイル]」と入力する。
  8. PH-1の画面上に証明書エラー(Faild signature verification)の旨のメッセージが表示されるので、「OK」を選択する。*9
  9. 処理が終わったことを確認し、PH-1でReboot system nowを選択する。

何事も無ければ少し時間を要したのちにLineage OSが起動してきます。その際、起動直後の画面に注目してください。
MindTheGappsの導入に成功している場合は、青っぽい感じで少々カラフルな初期セットアップ画面が表示されます。
MindTheGapps導入失敗の場合Lineage OSの質素な初期セットアップ画面が表示されるため、意図せずMindTheGapps導入失敗となった場合はもう1回カスタムリカバリを起動・Format処理から再度実施してください。*10

あとは通常のAndroid初期セットアップと同じような感じで進めて行けばOKです。

各種アップデートが落ち着くまでは待機

初期セットアップを済ませればあとは自由自在に使えます・・・が、裏でアップデートが動くようなのでしばらくは放置することをお勧めします。
なんかGoogle Playの挙動が微妙だなー・ちょくちょく落ちるなーと思ったらどうも裏でGoogle Play自体の更新が動いてたり、MindTheGappsで入るアプリの更新が入ったり・・・。

また、どうにかGoogle Play含めて導入が出来て急ぎ草稿を綴っている5/25時点ではChromeが固まったり落ちたり若干不安定な部分があるので、PH-1をメインスマホとしてLineage OS 18.1を入れて運用しようと言うピンポイントな人がいましたらもう少々お待ちした方が良さそうです。*11

いずれにせよ、地味に2021年4月初旬で17.1のアップデートが終了してMindTheGappsが必要なのを見逃して「Google Play入った環境でLineage OS 18.1作れねえなぁー」と放置してきましたが、なんとか貴重なAndroid環境が蘇りました。これでもう1年はAndroid OSで遊んでいける!*12

*1:正しくはOTAアップデートができずに「新バージョン出てるよ?」とメッセージが出てきたのでアップデート掛けてました。

*2:恐らくLineage OS入れて遊ぶ多くの諸兄は自由度を求めてroot化を求めることが多いのかも知れませんが、私はあくまで(月次パッチがコンスタントに配信されセキュリティ面でも安全安心も含めた)延命目的でLineage OSを利用しています。

*3:軽く調べるとOpenGAppsの代替品で、Lineageの中の人が推奨するパッケージらしい。盲目的にOpenGApps使うものと思い込んでて存在に気づかなかった・・・。

*4:具体的にはOTAアップデートに必ず失敗します。ことでんのことちゃんに会いに行くついでに仕事してた日にガチで泣きを見ました。たぶんA/B(シームレス)システムアップデートが関連していると思われますが、汎用品で動かすと悲しい結果に終わります。

*5:色々あってLatitude 7370もLinuxからWindowsにOSを戻してしまいました。

*6:Lineage OSはあくまで非純正のカスタマイズROMで、メジャーバージョンアップ時には実質的にデータ初期化を伴う対応が必要であることを考えると実運用前提での投入は少々厳しいものがありますが・・・。

*7:ちなみにどこが正解かは分かりません・・・。私がドライバを入手したときはまだ辛うじて公式のミラーサイトもようなトコが生き残ってたのですが、今はそのサイトも消滅してしまって自分が入手したミラーサイトすら案内出来ない状態です・・・。

*8:ちょっとうろ覚えですが、両面に書き込んでおけば確実です。

*9:PC側にもfailed to read commandと不穏なメッセージが表示されますが、気にしなくて大丈夫です。

*10:恐らくLineage OSインストール後に再起動せずMindTheGappsを入れた・私が当初思考停止状態でOpenGApps入れてたみたいな理由だと思います・・・。

*11:デフォルトのランチャーとの相性かな?と思って他のランチャーを入れてみたりしたのですが、事象は変わらず。宜しくない挙動をするバージョンが混入しているのかどうか・・・。

*12:個人スマホは全部iPhoneにしてしまったのでAndroid端末がPH-1以外に無かったりします・・・。