PC関連のチラ裏

自分用(素人)

arrows We2 (F-52E)をブートローダーアンロックできちゃった

arrows We2(F-52E)が1円・・いや、3851円で配っていたので貰ってきたのですが、無理やろ~と思いながらfastboot flashing unlockしてみたら、特に障害なく普通にできちゃいました。
FCNTありがとう!

画面暗いね~。
以上となります。以降は素人の個人的な備忘録となります。アホほど雑多です。

 




 

端末の状態は以下。

Android 14
Androidセキュリティアップデート 2024/5/1
Google Playシステムアップデート 2024/2/1
ベースバンドバージョン MOLY.NR15.R3.MP.V168.P22,MOLY.NR15.R3.MP.V168.P22
カーネルバージョン   5.10.198-android12-9-00090-gf7559871b50a-ab11383503
            #1 Wed Jan 31 05:53:52 UTC 2024
ビルド番号 V12RD40J

手順メモ

OEMアンロック オン
USBデバッグ オン

adb reboot bootloader
fastboot flashing unlock
	音量キーどちらかを5秒以内に押してアンロック、保証とデータは消滅
	fastboot oem unlockはコマンド無かった

bootloaderに入ると、最初のNTT docomo Powered by Androidの画面の一番下にfastboot mode(だっけな)と表示される。
ここでfastboot flashing unlockをすると、以下の選択肢が表示される・・が、5秒以内にアンロック操作しないとスキップされる。

起動するとめでたくブートローダーアンロック完了。

アンロック中の起動画面の警告は以下。ちっちゃい。

Magiskを入れたいので、boot.img(もしくはinit_boot.img)がほしい。
最初はKernelSUを試してみたが、fastboot boot boot.imgができなかった(unknown command)。KernelSUの経験もなくよくわからなかった(でもKernelSU入るらしい!)ので、Magiskにすることにし、DSU Loaderから。

・・の前に、最初に一応スロット確認も兼ねて情報取得。

adb reboot bootloader
fastboot getvar all
	(bootloader)    off-mode-charge: 1
	(bootloader)    slot-retry-count:b: 0
	(bootloader)    slot-retry-count:a: 1
	(bootloader)    slot-successful:b: no
	(bootloader)    slot-successful:a: yes
	(bootloader)    slot-unbootable:b: no
	(bootloader)    slot-unbootable:a: no
	(bootloader)    slot-count: 2
	(bootloader)    current-slot: a
	(bootloader)    unlocked: yes
	(bootloader)    secure: no
	(bootloader)    partition-type:userdata: f2fs
	(bootloader)    partition-size:userdata: c077f8000
	(bootloader)    has-slot:userdata: no
	(bootloader)    partition-type:vbmeta_b: raw
	(bootloader)    partition-type:vbmeta_a: raw
	(bootloader)    partition-size:vbmeta_b: 800000
	(bootloader)    partition-size:vbmeta_a: 800000
	(bootloader)    has-slot:vbmeta: yes
	(bootloader)    partition-type:super: raw
	(bootloader)    partition-size:super: 260000000
	(bootloader)    has-slot:super: no
	(bootloader)    partition-type:md1img_b: raw
	(bootloader)    partition-type:md1img_a: raw
	(bootloader)    partition-size:md1img_b: c800000
	(bootloader)    partition-size:md1img_a: c800000
	(bootloader)    has-slot:md1img: yes
	(bootloader)    partition-type:dtbo_b: raw
	(bootloader)    partition-type:dtbo_a: raw
	(bootloader)    partition-size:dtbo_b: 800000
	(bootloader)    partition-size:dtbo_a: 800000
	(bootloader)    has-slot:dtbo: yes
	(bootloader)    partition-type:vendor_boot_b: raw
	(bootloader)    partition-type:vendor_boot_a: raw
	(bootloader)    partition-size:vendor_boot_b: 4000000
	(bootloader)    partition-size:vendor_boot_a: 4000000
	(bootloader)    has-slot:vendor_boot: yes
	(bootloader)    partition-type:boot_b: raw
	(bootloader)    partition-type:boot_a: raw
	(bootloader)    partition-size:boot_b: 4000000
	(bootloader)    partition-size:boot_a: 4000000
	(bootloader)    has-slot:boot: yes
	(bootloader)    partition-type:lk_b: raw
	(bootloader)    partition-type:lk_a: raw
	(bootloader)    partition-size:lk_b: 400000
	(bootloader)    partition-size:lk_a: 400000
	(bootloader)    has-slot:lk: yes
	(bootloader)    version-baseband: MOLY.NR15.R3.MP.V168.P22
	(bootloader)    is-userspace: no
	(bootloader)    serialno: ひみつ
	(bootloader)    product: yamato
	(bootloader)    max-download-size: 0x4000000
	(bootloader)    version-bootloader: yamato_eb9f6e3f9_202406231819
	(bootloader)    version: 0.5
	all: Done!!
	Finished. Total time: 0.039s

ほんではDSU LoaderからGSI起動

DSU Sideloaderをインストール
	https://github.com/VegaBobo/DSU-Sideloader/releases

GSI: https://github.com/TrebleDroid/treble_experimentations/releases/tag/ci-20240226
	非vndklite。vndklite版は起動しなかった。素人なので何故かは知らん
ユーザーデータ:16GB (super含めて16GBでバックアップできたがもうちょい多い方がよさそう)

まだ非rootなので以下のadbでコマンドを打てと言われるので打つ。
	adb shell sh "/storage/emulated/0/Android/data/vegabobo.dsusideloader/files/install"
インストールし終わるとDSU Loaderから通知
通知から再起動でGSI起動

脱線気味だけど、怖いのでboot.imgついでにバックアップできるパーティションは全て取ることにする。
バックアップ用sh作成。改行コードはLFにする。
内容はAndroPlusさんのバックアップスクリプトのuserdata以外すべての4,5番

backup-partition.sh

#!/bin/sh
for file in *
do
    if [[ "${file}" = cache* || "${file}" = userdata* || "${file}" = sd[a-z] ]]; then continue ; else dd if="${file}" of=/sdcard/backup_img/"${file}".img ; fi
done


echo "" > /sdcard/backup_img/md5.txt
for file in *
do
    if [[ "${file}" = cache* || "${file}" = userdata* || "${file}" = sd[a-z] ]]; then continue ; else
	if cmp -s "${file}" /sdcard/backup_img/"${file}".img; then
		echo "${file} - OK" >> /sdcard/backup_img/md5.txt
	else
		echo "${file} - NG, you have to backup again!" >> /sdcard/backup_img/md5.txt
	fi
    fi
done
スクリプトを送る
	adb push backup-partition.sh /data/local/tmp/

バックアップ実行と、md5のチェック
	adb shell
		su
			mkdir /sdcard/backup_img/
			cd /dev/block/by-name/
			sh /data/local/tmp/backup-partition.sh
			md5sum *
			exit
		exit

バックアップファイル取り出し (boot.imgも含まれる)
	adb pull /sdcard/backup_img/ path:\to\backup_img\


GSI終了
	GSIのDSU通知からRESTARTして元のAndroidへ戻る
	元のAndroidでDSUの通知から破棄を選択しストレージ解放

md5sum * で取れたハッシュ。
何度か勝手にシステムアップデートが走ってしまい、Androidメニューの全リセットでキャンセルなどしているので、bパーティションは変なのあるかもしれない。

2ac2ebb404fa274bfd6da7f00bc6a05b  boot_a
9aae855b3328b5e95344d6e87a7a2043  boot_b
b6d81b360a5672d80c27430f39153e2c  boot_para
96995b58d4cbf6aaa9041b4f00c7f6ae  connsys_bt_a
96995b58d4cbf6aaa9041b4f00c7f6ae  connsys_bt_b
96995b58d4cbf6aaa9041b4f00c7f6ae  connsys_gnss_a
96995b58d4cbf6aaa9041b4f00c7f6ae  connsys_gnss_b
96995b58d4cbf6aaa9041b4f00c7f6ae  connsys_wifi_a
96995b58d4cbf6aaa9041b4f00c7f6ae  connsys_wifi_b
9d68b3da240261a7e9ba4e9b5099d310  dpm_a
f4b4f5613305f94167f5e9960a66dc17  dpm_b
833ba8faf1b3ee5ea0c78dd280ac5c73  dram_para
334139eeaf26b4c8727f126b550fbe3a  dtbo_a
717a7d112db3cfe76680a24974ceb961  dtbo_b
59071590099d21dd439896592338bf95  efuse
cb5c298fbd7a1d9476edb2666a12e0d3  expdb
6a94dbd70b173f72f98248b12f3aa9d7  fjlog
565d8c0262062d926b59c003d0b0dddd  flashinfo
18ab1955384691a35b127a3eebd6ef72  frp
38742cfac2f8063f3cffcabd236074a5  gpueb_a
82d335607b6f2ecffe400566caf5955f  gpueb_b
c65bf9db3f361eacf6cf58bb503b0220  gz_a
99ab2a44352337994d1580de52fcf469  gz_b
96995b58d4cbf6aaa9041b4f00c7f6ae  init_boot_a
96995b58d4cbf6aaa9041b4f00c7f6ae  init_boot_b
1719b3e9f96ea94a5c1e95b6280c6b1b  lk_a
1d77ea12a34813416f2331684603e0f2  lk_b
572093df17f4da21c923d35372748442  loaderlog
e142da1a481f705a38c4e4e7dc74d7e2  logo
51c1d6d77f5dccebfe84027f8fc1b6c0  markerlog	変化する
b8fd041f03ccd71c0bff7f6fa9f328ab  markerlog2
b50ee4b643fcb7e585a22e0d1bd3af35  mcupm_a
3d5af27ea519725c03b2c5f7179c762d  mcupm_b
362344aebbe5d5fff26250425ef4bfa6  md1img_a
654b3cc0372d04d801bdf0bd56dc769b  md1img_b
c942ca6cf41f792bf8bd96900842c892  metadata
74ec48ef6045ef5a06748430fad99370  misc
568bbcf11f75996b85271f51432bc80f  nvcfg		変化する
a4c77327db838468260183565ba27416  nvdata
4110919c91d9353c1a4534424a332678  nvram
f6a7b2f72130b8e4033094cb3b4ab80c  otp
00ff461906b45fc4af74f81839a30069  para
926e9b506f9748784389589639597eb9  persist
dda5435ce022fc64c8590306f6dcbf4d  persist_oem	変化する
c032fbfaa3d8ce1e20066ebbf05d4f0c  pi_img_a
fbe759da2b9cc94e0ce64d4ac4bdd3e6  pi_img_b
12dd871d63b038d4b31e4a9e93241069  proinfo
24324445e907d8149af884c8dcfce7a4  protect1
222ecf58d331af2d9ca5c45525668aff  protect2
1cbe5e7438f1f65f1e7786a35eabf518  scp_a
744e5278992e95ae5d47a6f7f850b89c  scp_b
f0e7a04e7e5c0510367c6486a05b4e62  sda		環境次第?
1b0358f6222d55ec765ad4cbd726434e  sdb		環境次第?
25a02731f63f9eb8695173d71aaef448  sdc		環境次第?
b2d1236c286a3c0704224fe4105eca49  sec1
f46dc339b684e466138643cdd128404e  seccfg
cc49f10d6b6cd4e77a1832d410ddc6a4  spmfw_a
72aa10b3055a7dbd00293416ab36cf6d  spmfw_b
6ad92142beb79db7e90e36dadd152398  sspm_a
93be34e5cf3162ad0009b99f2f42c4b4  sspm_b
cad116000c93d16ed5a1b7a9b8833453  super
af62845c21a5a217b8808aa99dce9fcb  tee_a
f8fc74c223743d8f12a41461ee5896e5  tee_b
2a47ee787249d7b8ace4481d865b7ff8  userdata	環境次第
3f5c7f79d4e7dc226ebc116aee764c89  vbmeta_a
e879ca71a2d26d93ab151424e94be58f  vbmeta_b
9358258a79d3956d46f561c134e2d490  vbmeta_system_a
b9a44737e70501bf20d5f9db4f6ad883  vbmeta_system_b
3d9c90e38e34e58746cf496b3c902cb7  vbmeta_vendor_a
aeafa935e1a9c32b381ffd2182eaa868  vbmeta_vendor_b
53ebfa8c49fbde4119ad34683ddcf941  vcp_a
68f8b86e6f00d25136d22d022ddf9ae5  vcp_b
28973719949cbf1eb9638681bcd8a6b9  vendor_boot_a
fc8df36623c1fbe9f310e1527d88b2c7  vendor_boot_b

sd*,userdata以外のハッシュを比べると、markerlog、nvcfg、persist_oemが異なっていた。
大元のmd5を何度も取ってみると、時間等の何らかの条件で変化してる気がするので、これは放置。

あとはいつもどおりMagiskインストール。

Magisk v28.1のapkをインストール

boot_a.imgをF-52Eに転送
	init_bootはUnsupported/Unknown image formatで無理だった。そもそも容量も小さくて怪しかった。
	boot.imgを使えばよさそうだ
Magiskのインストールからパッチを当てる
パッチ当てたファイルをPCに転送

adb reboot bootloader
fastboot flash boot magisk_patched-28100_*****.img
	boot_aに書き込まれた。boot_bにも書き込むべきかはうーん
fastboot reboot

普通に起動、Magisk適用済!おめでとう~

フォントがキッショいので、とりあえずkoruri fontを入れました。これは本体側の設定でフォントをNoto Sansに戻さないと適用されないので注意。
あとはDe-Bloaterで無効化できないアプリ消して・・どうしようかな~。まずはシステムアップデートか。

 


 

参考