Androidに関するメモ
Magisk・LSPosedモジュール、Root必須アプリメモ
どの端末にもだいたい入れるやつ。
- AOSPMods ストックROMを細かくカスタマイズするやつ
- DisableFlagSecure スクショ禁止を禁止するやつ
- safetynet-fix Mod safetynetをアレするやつ
- Shamiko Rootを隠すやつ
空のvbmeta.imgを作る
中華タブはAOSPの秘密鍵を使っているので検証無効フラグを立てて作ったイメージを焼けば事実上チェックが無くなりbootload unlockedになる。
git cloneすれば必要な秘密鍵が付属している
Windows は PATHにopesslが存在する必要がある。
git clone https://android.googlesource.com/platform/external/avb avbtool.py make_vbmeta_image --output vbmeta_disable.img --set_verification_disabled_flag --set_hashtree_disabled_flag --key test/data/testkey_rsa2048.pem --algorithm SHA256_RSA2048 avbtool.py make_vbmeta_image --output vbmeta_disable.img --set_verification_disabled_flag --set_hashtree_disabled_flag --key test/data/testkey_rsa4096.pem --algorithm SHA256_RSA4096
custom_avb_keyに焼くデータを作る
上記で作ったvbmetaやLineageOSから提供されるvbmetaの署名を対応ブートローダに信用させる。
avbtool.py extractpublickey --key test/data/testkey_rsa4096.pem --output testkey.avbpubkey fastboot flash avb_custom_key testkey.avbpubkey
ADBからAndroid端末のDPIを変更する
本来ならばRootを取っているのでEasy Dpi Changerを使用すれば一発ですが、
rootを取ることができない端末や前述のアプリにとんでもない値を指定してしまったせいで端末が操作出来なくなった際の救済を行うことができます。
PCから操作する場合はRoot権限無しで動作します。
adb shell wm density 560 && adb reboot
GSI編集
file lineage-20.0-20241118-UNOFFICIAL-a64_bvN.img
tune2fs -l lineage-20.0-20241118-UNOFFICIAL-a64_bvN.img | grep "Filesystem features"
truncate -s 4G file_name.img
e2fsck -f lineage-20.0-20241118-UNOFFICIAL-a64_bvN.img
resize2fs lineage-20.0-20241118-UNOFFICIAL-a64_bvN.img
e2fsck -E unshare_blocks lineage-20.0-20241118-UNOFFICIAL-a64_bvN.img
zip焼くなど編集する
fastboot fetch system system.img
tune2fs -r 0 system.img
resize2fs -M system.img
truncate -s $(dumpe2fs -h system.img | awk '/Block count:/{bc=$3} /Block size:/{bs=$3} END{print bc*bs}') system.img
最近のAndroid ROM焼きコマンド
近年のAndroidデバイスはA/Bパーティションやdynamicパーティション等を採用しており古いROM焼きのノウハウが通用しなくなっておる。
bootloader unlockを行ってもdm-verfyが生きていてブートループやデータのロストが起こりうるので混乱しないようにまとめ。
DM-Verfy無効化
factory image等何かを焼くたびにやっておく
fastboot flash vbmeta vbmeta.img --disable-verity --disable-verification
Pixel7 bootloader unlock
- 開発者オプションからBootloader unlockは普通にやる。
adb reboot bootloader fastboot flashing unlock
Pixel7 LineageOSインストール
やろうと思ってまとめていたけど辞めた。
ストックをAOSPModsでいじくり回す方向に変更。
Googleのサポートが終わったらやる
- recoveryの形式が変わっているので公式のドキュメント通りに作業
- vendor_kernel_boot がリカバリーのようだ?
下記で指定するimgファイルは全て [https://download.lineageos.org/devices/panther/builds] から落としたもの.
zipはそれぞれ関連先から落としたもの。Gappsはpixelなのでfullを焼いて全力でGoogleに魂を売る
MAgiskはapkをzipにリネーム
fastboot flash vbmeta vbmeta.img --disable-verity --disable-verification fastboot flash boot boot.img fastboot flash dtbo dtbo.img fastboot flash vendor_kernel_boot vendor_kernel_boot.img fastboot reboot bootloader fastboot flash vendor_boot vendor_boot.img fastboot reboot recovery
adb sideload lineage-20.0-20230908-nightly-panther-signed.zip rem リカバリ上でリカバリを再起動 adb sideload NikGapps-full-arm64-13-20230716-signed.zip adb sideload Magisk.v26.3.apk.zip
Rakuten Mini ROM焼き
- 元ファーム C330AE_9.0_RMN_JP_99_SS.rar nBJjjS3dKRlOi0kQJ_rmvrPOW49hjmw8fhMW7Cd_nOQ
焼いたファイル
- lineage-16.0-20191017-UNOFFICIAL-treble_arm64_bvN.img.xz LineageOS 16 (Android 9) プライバシーガードが使用可能な最終バージョン
- SetupWizard-signed.zip NikGappsのアドオン eSIMの動作に必要
- https://github.com/AndroPlus-org/magisk-module-c330-gsieSIM等有効化モジュール。vendorディレクトリをzipから取り除いてインストール
NEC LifeTouch Note LT-NA75W
ソースコード
Wifi版
3G版
Fastboot
「戻る」+電源ボタンで入れる。 ドライバはGooglez純正を無理やりインストール。 fastboot コマンド -i 0x409 で使用可能。
Recovery
「ホーム」+電源ボタンで入れる 「ホーム」を1回押すと操作可能になる。
使用チップなど
- 液晶 claa070ld0fcw
- LVDSレシーバー SN75LVDS86A
- タッチコントローラー tsc2046 (ads7846のドライバが使用可能)
- Wifi bcm4329 NECのソースツリーから推測