P9Lite(VNS-L22)にカスタムROMを入れるための予備知識

ビルドにチャレンジした時のメモ

機種情報

・日本の機種コードは、VNS-L22C365

・最後のファームウェアバージョンは、VNS-L22C635B401

パーティションのバックアップ

パーティション情報

/dev/block/bootdevice/by-name/system  -> /dev/block/mmcblk0p44
/dev/block/bootdevice/by-name/boot     -> /dev/block/mmcblk0p28
/dev/block/bootdevice/by-name/vendor  -> /dev/block/mmcblk0p47

パーティションのバックアップ 、TWRP起動後、コマンドプロンプトのadb shellにて実行する

# dd if=/dev/block/mmcblk0p28 of=/sdcard/boot.img
# dd if=/dev/block/mmcblk0p44 of=/sdcard/system.img
# dd if=/dev/block/mmcblk0p47 of=/sdcard/vendor.img

※vendorは、プロプライエタリのファイルが入っているパーティション。 fastboot mode でflashできるのはboot,system,recoveryのみ、vendorはできない。
したがって、元に戻す時もTWRPからadb shellで実行する。

> adb push vendor.img /external_sd/
> adb shell
# dd if=/external_sd/vendor.img of=/dev/block/mmcblk0p47

バイス名について

getprop で実行すると以下の内容、GitHubでのソースは device_huawei_venusかdevice_huawei_hi6250になる。

[ro.product.device]: [venus]
[ro.board.platform]: [hi6250]
[ro.boot.hardware]: [hi6250]

TWRPについて

純正ROMでは/dataは暗号化してマウントしており、lineageなどのカスタムROMでは暗号化された/dataはアクセスできない。インストールしても起動に失敗する。そのため、公開されているTWRPには
・/dataを暗号化されたままアクセスできるTWRP
lineageなどカスタムROMをいれるため普通の/dataがアクセスできるTWRP
の2種類が存在する。

カスタムROMを入れるためには、純正ROMが入っていた場合、最初にTWRPのメニューの中の「Format Data」を実行する必要がある。(「Format Data」を行うと/sdcardも初期化されるので要注意) すでにカスタムROMを導入している場合は、普通の「wipe factory/reset」で済む。

ちなみに、twrpのfstab.hi6250に以下の記述がある、これが暗号化の箇所

forceencrypt=footer,check
/dev/block/bootdevice/by-name/userdata         /data                f2fs     nosuid,nodev,noatime,discard,inline_data,inline_xattr wait,forceencrypt=footer,check