三星 note1 GT-N7000にLineageOS 16を焼く

投稿者: | 2021年2月25日

往年の名機、 三星 初代 note GT-N7000 に、Android 9 Pie ベースの LineageOS 16 の非公式カスタムROMを焼いて、 安全出行 LeaveHomeSafe アプリの身代わり端末にしてみました。

CyanogenMod 11

第一線を退いた後、ストックROMの更新はとっくに終わり、Android 4.4 Kitkat ベースの CyanogenMod 11を入れ予備機としていましたが、WhatsAppやSNS系のアプリはセキュリティ上の観点から次々とサポート外となり、現在ではRaziko(+Radiko)専用端末に。

図01.CyanogenMod11 システム情報

図01.CyanogenMod11 システム情報

 

LineageOS 15.1 へ

そんな中、香港政府謹製COVID-19追跡アプリ、安全出行 LeaveHomeSafe だけを入れた身代わり端末にしようとアップデートを思い立ち、CyanogenMod後継のLineageOSを調べていたところ、こちらの非公式カスタムROMを見付けました。

ROM焼いて終わりと言う単純な話ではなく、リパーティションを含めて作業量も多めなのですが、個々のステップについてしっかり丁寧に解説されているので、一つ一つ進めましょう。

まず、当時三星系などのカスタムリカバリではポピュラーだった、ClockworkModがリカバリに入っているので、「INSTALLATION FROM STOCK ROM」項の1〜4は飛ばし、

5. You should be in CWM recovery now. Flash this zip to get TWRP IsoRec:
20210209-boot_n7000-twrp_i9100_3311.zip

より開始します。母艦でリンクからダウンロードしたTWRPリカバリv3.3.1-1を転送。

ファイル名にあるi9100とは、三星 Galaxy S2 i9100のことで、どうもデバイス名変数にi9100が格納されていました。

図02.リカバリをTWRP v3.3.1-1へ入替え

図02.リカバリをTWRP v3.3.1-1へ入替え

この後、どうしてもリパーティションに尻込みして脱線。LineageOS15.1系のカスタムROMを見付けたので、試しに焼いてみます。

図03.LineageOS15.1 ROM焼き

図03.LineageOS15.1 ROM焼き

やや長めの初回起動を経て立ち上がった、LineageOS 15.1(Android 8.1ベース)のシステム情報は次の通りです。

図04.LineageOS15.1 システム情報

図04.LineageOS15.1 システム情報

ちなみに今時のAndroidではタスクボタン長押しで撮れるスクリーンショットが撮れないので調べてみたところ、以下の要領で電源ボタン長押し時に出てくるサイドメニューに追加させることが出来ました(後述のLineageOS 16でも同仕様)。

「Setting → System → Buttons → Power Menu → Check Screenshot」

図05.LineageOS15.1 Screenshotボタン割当

図05.LineageOS15.1 Screenshotボタン割当

それでは、別途入手した安全出行のapkファイル(執筆当時最新ver.1.1.6)を端末内へ転送し、Playストアを経由せずに直接インストールします。

早速アプリを起動してQRコードのスキャンを試してみますが、接写モードで固定されているような状態で、枠内にQRコードを収めるとフォーカスが全く合いません。同アプリ内にあるもう一つの機能、タクシーのナンバプレートを画像読取りでのカメラは通常モードで動作することや、カメラアプリ自体は普通に使えることから、カメラ自体に問題は無さそうです。

図06.LineageOS15.1 カメラピンぼけする安心出行

図06.LineageOS15.1 カメラピンぼけする安心出行

 

LineageOS 16 へ

このままでは目的にそぐわないので当初の通り、こちらの手順に戻ってLineageOS 16のインストールを進めます。「INSTALLATION」項の1から。

1. Choose your desired emulated storage partitioning configuration

ここではパーティショニングをどうするか選ぶよう、提示されています。が、ここでは選ぶだけで特に作業はありません。今回は後腐れなく、「 Android 9/10 capable」を選んでおきました。

 

2. Flash emulated storage capable TWRP IsoRec (flash as Image to Recovery):
   i9100-LOS-16.0-Emulated-Storage-TWRP-3.3.1-1.img

次にEmulatedストレージ対応のTWRPをイメージとしてリカバリに焼きます。

図07.Emulatedストレージ対応TWRPイメージを焼く

図07.Emulatedストレージ対応TWRPイメージを焼く

 

3. Flash i9100-to-n7000 TWRP conversion:
   lanchon-twrp-patcher-20160417-n7000.zip

端末再起動してリカバリに入り直したら、最初に入れたi9100化されているTWRPリカバリをn7000にするパッチを当てます。

図08.TWRPのn7000化パッチ当て

図08.TWRPのn7000化パッチ当て

 

4. Flash the repartition script that you have chosen in Step 1

再び端末再起動でリカバリに入り直したら、Step.1で選択したリパーティション方法に沿ったスクリプトをダウンロードして焼き込みます。

図09.リパーティションスクリプト適用

図09.リパーティションスクリプト適用

ところが、Zipパッケージを置いた /sdcard0 もリパーティションされてしまうことから、これは当然失敗に。親切なことにZipパッケージは /tmp に複製されたので、メニュー戻って /tmp にあるZipパッケージをインストールします。

図10.リパーティションスクリプト適用(再)

図10.リパーティションスクリプト適用(再)

図11.リパーティションスクリプトの作業ログ

図11.リパーティションスクリプトの作業ログ

 

5. Wipe /cache, /system, Non-emulated Storage. Then, run Format Data

再起動の後Cache、System、Non-emulated Storageをワイプし、Format Dataします。

図12.ROM焼き前のワイプ

図12.ROM焼き前のワイプ

図13.ROM焼き前のフォーマット

図13.ROM焼き前のフォーマット

 

6. Proceed to flash my builds

いよいよROMを焼きます。フォーラムページのDOWNLOAD項にあるGoogle Driveへのリンクからダウンロードしました。ROM本体と同じフォルダにある boot.img も併せてダウンロード。端末内はリパーティションされたまっさらな状態なので、Zipパッケージは /data 直下に仮置きします。boot.imgは小さいので /tmp へ。

図14.LineageOS16 ROM焼き

図14.LineageOS16 ROM焼き

図15.boot.img焼き

図15.boot.img焼き

尚、今回は不要なので省きますが、通常必要なGAppsはこちらでダウンロードし、このタイミングでインストールします。

以上でリカバリモードでの作業は終わりです。いよいよシステム起動させますが、ここでTWRPアプリをインストールしないよう、必ずチェックを全て外し、画面下のスワイプではなく「Do Not Install」ボタンを押して再起動させましょう。

図16.TWRPからSystemへの再起動時の注意

図16.TWRPからSystemへの再起動時の注意

 
リパーティションなどを行ったので心配でしたが、むしろ初回起動もスムースに起動した印象です。システム情報と、初期状態のストレージ情報は以下の通りです。

図17.LineageOS16 システム情報

図17.LineageOS16 システム情報

図18.LineageOS16 ストレージ情報

図18.LineageOS16 ストレージ情報

次にLineageOS 15.1の時と同じ方法で安全出行アプリをインストールして、その動作を確認しましたが今回は問題無くQRコードも認識することが出来ました。ROMを焼く際に付随のboot.imgも焼いたのが有意に働いたのかも知れません。最後に「身代わりスマホ」らしく、ホーム画面を安全出行アプリアイコンで埋め尽くして完成です(どうしてこんな端末こさえているのかは心の中で察してください)。

図19.LineageOS16 安心出行正常スキャン

図19.LineageOS16 安心出行正常スキャン

 

よく使う adb コマンドまとめ

最後に余談として、こんな時ぐらいにしか使わない、adbコマンドを自分のためにまとめておきます。

先ずUbuntu母艦にツールが無かったらインストール。

端末のUSBデバッグモードを有効にし、母艦とUSBケーブルで繋いだら確認(初回は端末通知から許可しない限りunauthorizedのまま)。

母艦から端末をリカバリモードへ再起動。

母艦へファイル転送時にタイムスタンプを保持(-a)、進捗表示(-p)。フォルダ単位の母艦への転送(ファイル名にワイルドカード使えない為)。

treeコマンド代替のディレクトリ情報出力(ルート以下の全情報を得る例)。

端末内のscreencapをadbで操作してスクリーンショット撮影し、母艦に直接出力(機能しないバージョンもあり)。

同じくスクリーンショット撮影し、端末内のフォルダに出力。

出力ファイル名を日付時刻文字列で。

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA