
【備忘録】Realme neo7の bootloopおよびAPatchについて
経緯
つい先日、1月19日にRealmeの深層テストに合格し晴れてBLUできるようになった。普通のOppo系端末ならグローバル版のOxygenOSを焼くところだがRealme neo7は大陸版のみ。なのでCNromでMagiskを使いRootを取ってLuckytool運用していた。しかし、金融系アプリがroot検知をしてしまい、うまく動かなかった。そこで、前回のRoot機においてKernelSUのホワイトリスト形式が気に入っていたのでKernelSUでrootを取ろうとした。
テレグラムで配布されているOSバージョンRMX5060_15.0.0.111の純正init_boot.imgをKernelSUで、パッチしFlashしたところブートループに陥った。幸いなことにFastboot(bootloader)とrecoveryモードには入れたためどうにかこうにかしようと画策していたというのがブートループの経緯だ。
bootloopからの回復方法
結論から言うとunbrickした。
ストックboot.imgがあり、fastbootとrecoveryに入れたためどうにか事なきを得た感じだ。手順を紹介する。
筆者は手当たり次第に試し、最終的に治ったがこの方法で治る保証はできない。unbrickした状況を整理した結果これで復元した可能性が高いというだけなのであしからず。
この方法はあらかじめusbデバックがデバイスに常時オンの場合しかできない。気をつけてほしい。
では行こう。
1.Recoveryモードでwipeデータ
fastbootモードに入ってコマンドを打つとrecoveryに入れる。
fastboot reboot recovery
これでリカバリーモードに入れる。
そこからwipeデータを実行。これでデータがすべて消去される。

そしてPower offを実行。
選択は音量ボタン、決定は電源ボタンで行える。電源が切れたらボリュームダウンキーと電源キーを長押しでfastbootモードで起動する。
2.Fastbootでboot.imgをflash
fastbootモードで起動できたら次は実際に焼いていく。コマンドは以下の通り
fastboot flash boot boot.img
気をつけてほしいのは実際にはfastboot flash bootのあとはパスにしてほしいところだ。簡単なやり方はデスクトップに移動かコピーしたあとにcmdかshellにコピーしたやつをドラッグする。するとパスが打ち込まれるのでその状態でFlashする。以下参考だ。

これをinit_boot.img、boot.img両方焼いていく。その後、再起動コマンドを打つと回復した。
fastboot reboot
これで復旧自体は終了。
RMX5060はboot bootコマンドが塞がれているためKernelSUは旨味がないとのこと。大人しくmagiskを使うか後述のAPatchを使うべきだ。
APatch
参考は以下の記事。
https://log.flyan.net/archives/20240712_1376
注意点だけまとめると
原則、APatchを使いたい場合Kernel側がCONFIG_KALLSYMS=y及びCONFIG_KALLSYMS_ALL=yになっている必要がある
バージョン11011以前の場合はCONFIG_OVERLAYFS=yも必要(11011以降は不要)
Samsung以外にも、いくつかのMediatek機では起動しないこともある
Neo7はMTKのDimensity9300+だか行けた。
まずはカーネル要件がクリアしているかどうかをチェックする。
1.カーネル要件の確認
とりあえずrootをとってください。
boot bootコマンドが使える機種かつKernelSUが使える機種はこの記事を参考にしてrootを。
KernelSUが使えない、又はboot bootが使えない機種は配布がtelegramか何かにあるので取ってきてMagiskでパッチして普通に取ってください。
この項目は確認するのにかなり手こずったので書いておく。元記事にもないので。
Root化した前提で話す。
まずはtermuxをインストール。
そしてインストールしたら以下のコマンドを打ってスーパーユーザーを取得、確認していく。
adbコマンドを使えるように環境を構築する。
# パッケージのアップデート
pkg update
pkg upgrade
#adbのインストール
pkg install android-tools
まあルート取る段階でusbデバックはオンだろうから飛ばしていく。
これでadbが使える。次にスーパーユーザーをとる。
adb shell
su
そしてカーネル要件の確認
zcat /proc/ config.gz | grep -w CONFIG_KALLSYMS
を打って下の写真用にyと出ればよし。インストールできる。が、ブートループに陥ることがあるので人柱になるかboot bootで確認するかのどちらかだ。

あとは参考の記事通りにやれば苦労はしない。
筆者は人柱になった。だが、なって良かった。
ということで備忘録終了。