OnePlus Nord 3 5G(OxygenOS 13.1)をブートローダーアンロック&Magisk導入(root化)する

Android

OnePlus Nord 3 5G(の中古Aランク)を手に入れたので、ブートローダーアンロック&Magisk導入しました。

DimensityなOnePlus機への導入手順を日本語で書いた情報が無いうえに、私もすんなり…ではなかったので記事に残します。

準備・使ったもの

いつものAndroidをイジる際と大体は同じです。adb/fastboot環境は構築されている前提で事を進めます。

備忘録的なものなので、結論(Magisk導入)だけ知りたい人は”一加手机官方ROM 下载站のファイルを使う”まで飛ばして下さい。

  • ブートローダーアンロック済みのOnePlus Nord3 5G(記事内でアンロックします)
  • adb/fastboot環境のPCとUSBケーブル
  • Magiskのapk or 導入済みのAndroidデバイス
  • MTK Driver
  • Fastboot Enhance(boot.img抽出用)
  • 一加OnePlus Nord 3 5G 氧OS CPH2491_13.1.0.581(EX01) A.14 全量包(OxygenOSのROMファイル)

私が拾ったOnePlus Nord 3 5GはOxygenOS 13.1 CPH2493_13.1.0.581(EX01)の個体です。

OnePlus Nord 3 5Gはグローバルモデル(インド版と欧州版)、中国国内向けベースモデルのOnePlus Ace 2Vがあり、多分私の奴は欧州版です。

※(PHP110=OnePlus ACE 2V=National Bank=ColorOS CPH2491=OnePlus Nord 3 インド版=Oxygen OS CPH2493=OnePlus Nord 3 欧州版=Oxygen OS)らしい

ブートローダーアンロック

普段はSnapdragon(Qualcomm)機ばかり弄っていますが、当然ながら(Dimensity)MediaTek機なのでそれ用のドライバーが必要です。うちの環境はWindows 11 Pro(23H2)なのでv5.2307のMTK Driverを入れ直しました。

UATTAB001(MT8168)同様にドライバーが無いとFastbootモードでPC側が認識してくれないので必須です。

いつも通り、開発者向けオプション内の”OEM ロック解除”を有効化、USBデバックの許可を”ON”にして接続先のPCとのデバック接続を”常に許可”にしておきます。

adb環境(PC)とUSBデバッグ接続し、コマンドプロンプト(ターミナル)を使って、コマンド”adb reboot bootloader”でOnePlus Nord 3 5GをFastbootモードにて起動させます。

私が(ネット上の知識で)知っているOnePlusのFastbootモードは左の奴(Axon 10 Pro)なんですが、OnePlus Nord 3 5GのFastbootモードは画面左にちっちゃく”Fastboot”と出るだけの奴でした。

コマンド”fastboot flashing unlock”を入力し、Enterキーで実行。ブートローダーのロック解除の可否を聞かれるので音量キーを上か下に押すと勝手に初期化&アンロックされます。

5秒間しか待ってくれないし、初期化するけど良いの?的なメッセージもまとめられてるので少し焦りました。アンロックされてるのか良く分からず5回やりましたが…そんな必要は無いです。

そのまま”fastboot reboot”で再起動すると、無事アンロック&初期化されてOnePlus Nord 3 5Gが起動。

boot.imgの入手で少し躓く

詳しくは知らないし、最終的にMagisk導入(root化)はできましたが…OnePlusはXiaomiのようにファームウェア・ROMをググっただけでは簡単に入手できないっぽいです。

あとはDimensity 8100/9000・Helio G96以降かつOPPO系なので”MTKClient”は非対応。

一応、XDAのOnePlusフォーラムにはOnePlus Nord3/Ace 2Vとしてroot化手順と外人ニキが引っこ抜いたであろうboot.imgのダウンロードリンク(Telegram)がありますが…。

アンロックした段階の私はまだ”init_boot.img”か”boot.img”どっちなのか分かって無かったし、仮に良く分からんイメージを焼いて文鎮化して復旧できるかすら不明な状況だったので、自分でどうにかすることにしました。

とりあえずboot.imgが無くてブートローダーアンロック済みであれば、今はKernelSUかDSUの2択。

OnePlus Nord 3 5GもKernelSUは未インストール(対応可)表示だったので、カーネルバージョン5.10.149のboot-gz/lz4/imgのどれかでbootできるハズです。

(OxygenOSで撮り忘れたのでLineageOSのGSIで用意)

が、3つにイメージ全てbootingでerrorを吐いてKernelSUを動作中にはできませんでした。…まぁ、KernelSU→Magisk導入の流れを今まで試したことも成功させたことも無いのでしゃーないですね…。

未インストール(対応可)なので、できるハズ何ですが…スナドラ機の情報は幾つかあってもDimensity+OnePlusでの成功例が無いので何とも言えません。あとこの辺をそんなに詳しく無いので…。

KernelSUが上手く行かないなら、DSU Loaderでsu権限のあるGSIを起動してimgを引っこ抜くだけです。

KernelSUと違って、謎タブレットことUATTAB001のboot.imgを引っこ抜いたこともあるので、まだ成功確率は高いだろうと思っていました。

DSUでsu権限のある定番GSI、Andy Yan=サンの”lineage-20.0-20231017-UNOFFICIAL-arm64_bvS”を起動。バックアップ出力時でも、まず困らないであろう64GBで構築。

MediaTek SoCなのでdev/block/by-nameに置き換え、UATTAB001の時と同じ様にコマンドでboot.imgを引っこ抜かせるつもりでした。

adb shell

su

cd /dev/block/by-name

mkdir /sdcard/backup_img

for file in *; do
    if [[ "${file}" = cache* || "${file}" = userdata* ]]; then continue ; else dd if=/dev/block/bootdevice/by-name/"${file}" of=/sdcard/backup_img/"${file}".img ; fi
done

(https://gist.github.com/AndroPlus-org/c057a96d0c474f799354b939068337d1)

コマンド抜けも無いし、$ suなのでsu権限が動いてないってことも無く、実行自体はできてますが…”ファイル・ディレクトリは無い”って言われました。

sdcard内に”backup_img”フォルダを作成するのは普通に成功していて、ファイルの出力だけが行われてないです。

うーん…KernelSUも上手く行かない、DSU+suでコマンドからイメージの引っこ抜きもできない、正直こうなると私の知識で対処可能な範囲外です。もっと詳しい人に直接聞くとかじゃないとこの2つが駄目な理由は分からんです。

一加手机官方ROM 下载站のファイルを使う

自分でどうにかできそうな2つの方法が上手く行かないので、もう直接OnePlus Nord 3 5G(OxygenOS 13.1)のファイルを入手するしか手立てがありません。

Google(の検索エンジン)が死んでるので普通にググった程度では見つかりませんし、私自身はクソザコですが…参考にしている人達は別です。

ミ田(ROM焼き試験場)=サンのOnePlus 11の記事内に一加手机官方ROM 下载のリンク、Fastboot enhanceの使い方があったので、これを参考にOnePlus Nord3のROM(氧OS CPH2491_13.1.0.581(EX01) A.14 )を入手。

”Fastboot enhance”でROM内の”payload.bin”を開き、boot.imgを選択して抽出オプション全てをチェック済みにしてから”イメージを抽出する”を実行。

適当な場所にboot.imgだけ抽出しました。あとROM内にinit_boot.imgが無いので外人ニキの手順通りboot.imgで良かったようです。

恐らく、Dimensity 9000もSnapdragon 8 Gen 1より製品リリースは前であり、Snapdragon 8+ Gen 1(7+ Gen 2)までのSoCを搭載した端末はinit_boot.imgでは無くboot.imgにパッチする方式なので、OnePlus Nord 3 5G(Android 13)も同様だった…ということだと勝手に解釈してます。

boot.imgが入手できたら、あとはいつも通りMagiskでパッチしてフラッシュするだけの簡単作業です。

一加手机官方ROMにあったファイルで、問題無くOnePlus Nord 3 5GにMagisk導入(root化)できました。

あとがき

私はこんな感じで”途中の過程が良く分からないまま、何とか結果だけには辿り着く”ことが稀によくあります。

今回も正直、KernelSU・DSU+suが何故駄目だったのか良く分からないまま、Magisk導入だけはできたという感じです。

OnePlus Nord 3 5G自体、日本語で書かれた情報が極端に少ないし、Dimensity機も8100/9000以降は良質な情報が少ないので…何とかBLU&Magisk導入だけは上手く行ったのが不幸中の幸いです。

あんまり居ないと思いますが、OnePlus Nord 3 5Gをroot化するのにこの記事が役立てば嬉しいです。

OnePlus Nord 3 5G(Dimensity 9000)はそのうち記事にします。丁度Redmi Note 12 Turbo(7+ Gen 2)もあるし、Snapdragon 8 Gen 1との比較も交えた情報に私自身も興味があるので。

ある程度のデータ測定はできているので比較的早く出せると思いますが、チラ見せしておくと…平均50.6fpsとはいえ平均消費電力がたった3.46Wで、OnePlusによるDimensity 9000の調整具合が私自身、信じられないくらいの良ワッパで驚いています…。(デュアルセルの片側のみ測定、あとで修正します)

まぁ…付箋通りにNote 9sを復活させて、Redmi 12 5G(4 Gen 2)の電力効率や記事を作成して、その後になりますが…。Dimensity 9200+も来るので、約束というか「Dimensityもやってほしい」という、昔貰ってすぐに応えられなかった要望にようやく応えられそうです。