つかぽんのひとりごと

つかぽんがつらつらと綴る場所です。

ドコモ版Galaxy S9(SC-02K)にカスタムROMを焼いてみた -LineageOS 17.1-

 去る2021年4月22日に、2年間使用していたGalaxy S9(SC-02K)からこの日が発売日だったGalaxy S21 5G(SC-51B)へ機種変更しました。

f:id:tsukapon_xbcc:20210520205929j:plainf:id:tsukapon_xbcc:20210520205903j:plain

 ファントムバイオレットの紫の色合いが好きすぎる。
そんなわけで、手元に残ったGalaxy S9をどうしようかと思って調べていたら、カスタムROMが焼けるとのことでやってみた次第です。

 

 ※注意事項※

この記事に書かれている行為は全て自己責任で行っています。

ROM焼きはメーカーサポートが受けられなくなる、最悪の場合使い物にならなくなる(文鎮化etc...)可能性があります。

ですので、この記事に記載されている方法を真似する際は事前にしっかり情報収集して、自己責任で行ってください。

 

 1. カスタムROMとは?

 カスタムROM(ここで言うROMはOSと同義)とは、簡単に言えば非純正ROMのことです。純正ROMにはない機能を有していたり、動作速度が改善されたり、バッテリーの持ちが良くなるなどのメリットがあり、Androidのバージョンや機種に応じたカスタムROMが有志によって製作されています。

 

 今回導入する「LineageOS」もカスタムROMの一種です。

 LineageOSは何といっても多くの機種・Androidのバージョンに対応していることが特徴です。

  LineageOS – LineageOS Android Distribution  

 

 僕自身、初めてのスマホであるGalaxy Sや後に持っていたGalaxy NEXUSGalaxy SⅢ、HTC 3D Evo、タブレットNEXUS 7にカスタムROMを焼いていじくりまわしていた時期がありました。

当時僕が一番好きだったカスタムROMが2016年にサポート終了した「CyanogenMod」であり、LineageOSはその後継となるROMです。

 

 最後にスマホにROM焼きをしたのは約5年前・・・、上手くいくかどうか不安でしたがいろいろ調べながらやってみました。

 

2. 用意するもの

〇ハード類

・Galaxy S9

microSDカード

・PC

・USBケーブル(PCとの接続用)

 

〇ソフト類

・Odin

・TWRPのイメージファイル

・LineageOS 17.1のROMイメージ

・no verify opt

・Disable Force Encryoption

・Magiskのapkファイル

・opengapps

 

3. 必要なファイルのダウンロード

3-1. Odin

 OdinとはSamusung公式のツールで、samsung製のスマホ等の復元などを行うことができます。

 Odin公式ページ(https://samsungodin.com)へアクセスし、ページ中ほどまでスクロールするとダウンロードリンクがあります。とりあえずその時点での最新版をダウンロードしておけばOK。今回は3.13.1を使いました。

f:id:tsukapon_xbcc:20210523224809j:plain

 

 3-2. TWRPのイメージファイル

 TWRP(Team Win Recovery Project)とは、カスタムリカバリの1種です。

リカバリーモードで起動することで、端末の初期化などを行えます。TWRPは純正のリカバリに手を加えて、非純正ROMなどを焼けるようにしたもの、と考えてもらえれば良いかと。

 TWRPを使ってカスタムROMやその他ツールを焼くので、これがないと始まりません。

 Galaxy S9用TWRPのページ(Samsung Galaxy S9 (Snapdragon))へアクセスし、Download Links:のPrimary(Americas)またはPrimary(Europe)からダウンロードページへ飛びます。どちらを選んでも良いですが、うまく開けなかった場合はもう片方のリンクを試しましょう。

f:id:tsukapon_xbcc:20210523231927j:plain

 

  リンク先に飛ぶことができたら、「twrp-○○○-starqltechn.img.tar(拡張子に注意!!)をクリックしてダウンロード。こちらも基本的に最新版をダウンロードしておけば大丈夫です。今回は3.5.2_9-0を使用。

f:id:tsukapon_xbcc:20210523231931j:plain

 

3-3. LineageOS 17.1のROMイメージ

 今回の主役、カスタムROMのイメージファイルを調達します。

 XDA Developersの該当フォーラム([ROM] [10.0] [UNOFFICIAL] LineageOS 17.1 for S9 and S9+ (Snapdragon) | XDA Developers Forums)へアクセスし、「Downloads」の欄にあるGalaxy S9 snapdragon(G9600)のリンクからダウンロードします。

f:id:tsukapon_xbcc:20210524000527j:plain

 XDA Developersでは、Android搭載機器に関する様々な情報や議論が活発に交わされている場所です。

 端末のroot化やカスタムROM、カスタムカーネル、カスタムリカバリなどに関しては、ここのフォーラムを読めばだいたいの情報が集まります。

 難点は英語であるということと、主に国際版(グローバル版)前提の話が多いため日本版の端末ではできなかったりすることがある、というところでしょうか。

 

3-4. no verify opt encrypt

 TWRPを導入しただけでは、端末を再起動してもOSが起動せず再起動を繰り返すいわゆるブートループが発生します。

 これは、SYSTEMパーティションの書き換えを監視するDM-Verifyという機能が働く為で、これを回避するのがこのno verify opt encryptです。

 こちらのページ(Index of /android-tools/no-verity-opt-encrypt/)にアクセスし、「no-verify-opt-encrypt-6.1.zip」をダウンロードします。

f:id:tsukapon_xbcc:20210524003117j:plain

 

3-5. Disable Force Encryoption

 no verify opt encryptと同様に、書き換え監視を回避するものです。

 後から調べてみると、no verify opt encryptにこのDisable Force Encryptionの機能も入っているらしく導入の必要はないという情報を見つけました。ただ、今回はこちらも導入したので念のため入れておきます。

 こちらのページ(https://androidfilehost.com/?fid=4349826312261812457)にアクセスし、「Click Here to Start Download」ボタンをクリックしてしばらく待つと「Primary Download」のボタンが現れるのでそこから「Disable_Force_Encryption_-_SM-G9600.zip」をダウンロードします。

f:id:tsukapon_xbcc:20210524004117j:plain

3-6. Magiskのapkファイル

 端末のroot化に必要なアプリです。root化というのは、通常はアクセスできないファイル領域にアクセスしたり、システム領域の変更を伴うようなアプリを使えるような状態にすることです。簡単に言えばシステムをいじくりまわす権限を取得する、という感じでしょうか。

  githubのMagiskリリースページ(https://github.com/topjohnwu/Magisk/releases)へアクセスし、「Magisk-v23.0.apk」をクリックしてダウンロードします。

f:id:tsukapon_xbcc:20210524005819j:plain

3-7. opengapps

 opengapps(open google apps)はGoogle公式のアプリ(Google playストアとか、GoogleDriveとかetc...)をひとまとめにしたパッケージのようなものです。

 opengappsのページ(The Open GApps Project)へアクセスし、PlatformはARM64Android10.0(LineageOS 17.1がAndroid10ベースの為)、Valiantはnanoを選択して赤丸に矢印のボタンをクリックして「open_gapps-arm64-10.0-nano-xxxxxx.zip」(xxxxxxは日付)をダウンロードします。

 実はValiantはどれでも良いです。Android純正の状態が良いならばstockを選びましょう。

f:id:tsukapon_xbcc:20210524010708j:plain



4. カスタムROMを焼く

4-1. 端末の初期化とOEMロックの解除

 カスタムROMを焼く前に、端末を工場出荷状態に初期化しておきましょう。

 設定→一般管理→リセット→工場出荷状態へ初期化 を選ぶと初期化できます。

f:id:tsukapon_xbcc:20210524012207j:plain

 

 初期化が済んだら、次はOEMロックの解除を行います。

 設定→端末情報→ソフトウェア情報へ進んで、「ビルド番号」を9回連続でタップします。

f:id:tsukapon_xbcc:20210524012447j:plain

 

 すると、「デベロッパーモードが有効になりました」というダイアログが表示され、端末情報の欄に「開発者向けオプション」という項目が現れます。

 

f:id:tsukapon_xbcc:20210524013222j:plain f:id:tsukapon_xbcc:20210524013245j:plain

 

 「開発者向けオプション」を選択し、上部のスイッチをONにした後OEMロック解除」のスイッチをONにします。

 これでOEMロック解除が完了です。

f:id:tsukapon_xbcc:20210524013628j:plain

 

4-2. Odinを使ってTWRPを焼く

 先に、Galaxy S9にmicroSDカードを挿入してからPCに接続し、ダウンロードしておいたファイルの内OdinとTWRP以外のファイルをSDカード内へ移しましょう。

 「Odin3_v3.13.1.zip」を解凍して、展開したファイル中の「Odin3 v3.13.1.exe」をクリックするとOdinが立ち上がります。

f:id:tsukapon_xbcc:20210524015129j:plain

 Galaxy端末のUSBドライバがインストールされていない場合、ドライバのインストールを促されるので指示に従ってインストールしましょう。

 

 Odinを起動し、Galaxy S9をPCにUSB接続して「0[COM4]」(COM〇の数字は環境によって変わります)と表示されていることを確認します。

 その後は、「AP」ボタンをクリックしてTWRPのイメージファイル「twrp-○○○-starqltechn.img.tarを選択し、「Start」ボタンを押してTWRPイメージを焼きます。

 この時、端末のボタンを押せるように準備をしておいてください(理由は後述)。

f:id:tsukapon_xbcc:20210524014644j:plain

 異常がなければ、少し待つと自動で端末が再起動されます。

 再起動が始まったら、すぐに電源ボタン、音量-(下)ボタン、Bixbyボタン(音量ボタンの下にあるボタン)3つを同時押しして、直接リカバリーモードに入ります。

 なぜこの操作が必要かというと、そのまま再起動してしまうと自動でリカバリ領域が書き換えられてしまいTWRPが上書きされてしまいます。

 もし、普通に起動してしまった場合はもう一度OdinでTWRPを焼き直しましょう。

※2023.5/25修正

上記、リカバリーモードに入る際のボタン操作について修正しました。

 

4-3. TWRPを使ったLineageOS、その他のインストール

 TWRPが起動したら最初に画像のような画面が出るので、「Swipe to Allow Modifications」の青いスライダーを右側へスワイプします。

f:id:tsukapon_xbcc:20210524221013j:plain

 ちなみに、「Select Language」ボタンを押すと言語が選択できます。最近のTWRPは日本語にも対応しているようです。

  

 次にメイン画面の「Wipe」ボタンを選択します。次に出てきた画面で「Format Data」ボタンを選択すると、Wipeを実行するとアプリや写真などのデータが消えますよの警告画面になります。

 ここで、ダイアログに「yes」と入力し右下の青いチェックマークボタンを押すとWipeが実行されます。

f:id:tsukapon_xbcc:20210524221725j:plainf:id:tsukapon_xbcc:20210524221710j:plainf:id:tsukapon_xbcc:20210524221900j:plain

 

 Wipeが終わったら、TWRPのメイン画面に戻ってもう一度「Wipe」を選択します。

 次の画面で、今度は「Advanced Wipe」を選択。

 「Dalvik / ART Cache」「Cache」「System」「Data」の4項目にチェックを入れて、下の「Swipe to Wipe」スライダーをスワイプします。

f:id:tsukapon_xbcc:20210524222748j:plainf:id:tsukapon_xbcc:20210524223019j:plain

 

 いよいよ、本命のLineageOSのインストールに入ります!

 メイン画面に戻って「Install」ボタンを選択します。そうするとファイルを選択する画面になりますが、デフォルトでは端末内蔵メモリが表示されています。

 「Select Storage」ボタンを選択し、次の画面で「Micro SD Card(〇〇〇〇MB)」にチェックを入れて「OK」ボタンを押します。これでSDカードの中身が表示されます。

f:id:tsukapon_xbcc:20210524223725j:plainf:id:tsukapon_xbcc:20210524224357j:plainf:id:tsukapon_xbcc:20210524224749j:plain


 SDカードの中身が表示されたら、LineageOSのイメージファイルを選択して「Install Image」ボタンを選択するとイメージのインストールが始まります。

 インストールが正常に完了すれば、エラーが出ることなく終わります。

(画像で2回ほど赤文字でエラー吐いているのは、端末に対応していないイメージをインストールしようとしたからです。なぜ気が付かなかった…)

f:id:tsukapon_xbcc:20210524225230j:plainf:id:tsukapon_xbcc:20210524225413j:plain

 

 LineageOSのイメージをインストールしたら、メイン画面に戻って「Wipe」から「Advanced Wipe」を選択します。

 画像の様に「System」にチェックを入れた後、「Repair or Change File System」ボタンを選択します。

f:id:tsukapon_xbcc:20210524230124j:plain

 次の画面で「Resize File System」ボタンを選択します。

 出てきたResize System?の画面で、下の「Wipe to Resize」スライダーを右へスワイプすると、システム領域のリサイズが実行されます。

f:id:tsukapon_xbcc:20210524230338j:plainf:id:tsukapon_xbcc:20210524230516j:plain

 

 ここまで来たら、メイン画面に戻って「Install」を選択し、下記の順番で用意しておいたイメージ類をインストールします。

 ※インストールする順番はとても重要です!!

 ①gapps

 ②Magisk

 ③no verify opt encrypt

 ④Disable Force Encrypt

 

 これらすべてのインストールが無事に完了したら、メイン画面の「Reboot」ボタンを選択し、「System」を選択して再起動しましょう。

 ただし、インストール後最初の起動はほぼ必ず画像のような画面でブートループするようです。

f:id:tsukapon_xbcc:20210524231330j:plain


 10分以上経っても先に進まない場合は、電源ボタンとBixbyボタンを7秒以上同時押しして強制再起動します。

 僕の場合は2回目の起動でうまく立ち上がりました。

 LineageOSが立ち上がったら初期設定をしましょう。初期設定を終えて再起動すれば、下記ツイート中の動画の様に立ち上がるはずです。

 

 もしLineageOSやその他イメージ類のインストールがうまくいかない場合、TWRPのWipeからやり直してみましょう。

 

 LineageOSを導入してまだあまり触れていませんが、純正ROMよりも動作は滑らかな気がします。主に家で運用するサブ機なので、時間をかけてじっくり触っていこうと思います。

 今後、カスタムカーネルだとかroot権限を使用する使い勝手のいいアプリなどがあれば紹介していきたいなと思ってます(あくまで願望ですが)。

 

 今回のカスタムROM導入にあたり、「大和ノ畢生載録」様の記事を参考にさせていただきました。先人のチャレンジに感謝!

yamatoblog.hateblo.jp