MTKスマホのTWRPを移植してみる

カスタムリカバリのTWRPをUlefone MIX 2で使えるように移植してみた。
MTK端末は似たスペックのモデルが各社から発売されているので移植元になれるTWRPが見つけやすい。


いるもの

  1. 公式FWのrecovery.img
  2. 移植元のtwrp.img
  3. Carliv Image Kitchen
  4. (公式FWのboot.img)
公式FWはメーカー公式サイトのサポートページに公開されているFW、OTAアップデートパッケージ、root化後のイメージバックアップなどで入手することが出来ます。
移植元となるtwrp.imgは移植したい端末と同じMTK SoC用端末に作られたTWRPを探してきましょう。

Ulefone MIX 2にTWRPを移植してみる

Ulefone MIX 2の公式FWがUlefone公式サイトに公開されてない…(NEEDROMに公開されていた謎のFW…)
また、Ulefone MIX 2に使用されているSoCは「MT6737」だったので、同じSoCを使った端末Oukitel C4のTWRPを移植元にしてみました。

手順

  1. 移植元のtwrp.imgを展開
  2. 移植元にしたtwrp-c4.imgをCarliv Image Kitchenを使って展開しておきます。
  3. 公式FWのrecovery.imgから必要なファイルをコピー
  4. 公式FWのrecovery.imgを展開後、カーネル部分を展開した移植元へ上書きします。
    recovery.img-kernel
    recovery.img-kernel_offset
    
    ramdiskフォルダ内にdefault.prop、ueventd.rc、SoC名(mtXXXX)のついたファイル、meta_init系ファイルがあれば、展開した移植元へ上書きコピーします。
    default.prop
    fstab.mtXXXX
    init.recovery.mtXXXX.rc
    meta_init.connectivity.rc
    meta_init.modem.rc
    meta_init.project.rc
    meta_init.rc
    ueventd.mtXXXX.rc
    ueventd.rc
    
    また、default.propの以下の部分を次のように変更しておきます。
    ro.adb.secure=0
    ro.secure=1
    ro.debuggable=1
    
    最後にramdisk/etc/recovery.fstabの内容を移植元の形式に合わせて書き換えます。
  5. TWRPを再構築して完成

起動確認をして/tmp/recovery.logに表示されているエラーを見ながら細かく調整していきましょう。

参考:[Guide] AIO PORTING GUIDE [MTK-QUALCOMM-RECOVERY-BUGFIX-VOLTE]
参考:HOW TO PORT TWRP ON MEDIATEK DEVICES

起動確認してみる

起動不能になる場合があるので、バックアップ等復旧可能な状態にしてから行いましょう。

bootloader unlock
※端末が初期化されます

開発者向けオプションの「OEMロック解除」をONにしておく。

Fastbootモードで起動後、以下のコマンドでアンロック
>fastboot oem unlock

TWRPを書き込まずに起動してみる
完成したTWRPの起動確認をするためにrecovery領域に書き込みを行わず一時ブートします。
>fastboot boot twrp-mod.img

(DM-Verityを無効化)
TWRPの起動にDM-Verityを無効化する必要があるかもしれません。
公式FWのboot.imgをCarliv Image Kitchenを使って展開しfstabを編集
fstab
/dev/block/by-name/android_system  /system  ext4  ro  wait,verify
↓
/dev/block/by-name/android_system  /system  ext4  ro  wait
fastboot flashでboot.img書き換え
fastboot flash boot boot-mod.img

(おまけ)移植元作者名を書き換えたい

Team Win Recovery Project 3.0.X by ~←

ramdisk/sbin/twrp
ramdisk/sbin/recovery
をバイナリエディタで書き換え…起動しなくなった

ramdisk/twres/portrait.xml
ramdisk/twres/splash.xml
ramdisk/twres/ui.xml
の「%tw_version%」部分を変更してとりあえず対応

正しいやり方があれば教えてください…



ulefone mix2 twrp port test.rar
MTP接続出来ないなどの不具合あり



0 件のコメント :