PC関連のチラ裏

自分用(素人)

SO-52Cをmagisk維持しながらOTAアプデした

やれるのかわからなかったのでOTAアプデしてみました。
SO-52C_NTT DoCoMo JP_65.2.B.2.112 → 65.2.B.2.125

今回のみの作業

初回のmagiskインストール時に fastboot boot boot.img をできなかった(flashするしかなかった)ので、boot.imgのバックアップが作られていない。これを手動作成する。

XperiFirmのsinからboot.imgを抽出する(アプデ前バージョンの)
	sony_dump out boot_X-FLASH-ALL-D000.sin
	boot_X-FLASH-ALL-D000.000 を boot.imgにリネーム
	boot.imgのSHA1ハッシュを控える
		6bd0b7dacb974dcb7d44841b347b1a3368aa9ba8 ←65.2.B.2.112

gzに圧縮してスマホの所定のパスに配置する
	ラズパイにでもboot.img送信
	gzip boot.img
		./magiskboot compress boot.img boot.img.gz でも良いらしい。やったことないけど
	boot.img.gzを回収、スマホの以下のパスに配置
		/data/magisk_backup_6bd0b7dacb974dcb7d44841b347b1a3368aa9ba8/boot.img.gz

magiskの設定を確認
	magiskのパスを確認
		adbからでも
		#magisk --path
	magiskのパス/.magisk/config のSHA1を確認。自分は既に上記のSHA1が入ってた。初回インストールの起動時に入ってそう?

あと初回インストールで
fastboot --disable-verity --disable-verification flash vbmeta vbmeta
としていたが、BLUしている時点で --disable-verity --disable-verification のフラグが無くても起動できるようなので、この作業は必要なさそう。このフラグを解除する(ストックを焼く)。

bootloaderへ再起動
fastboot devices
fastboot flash vbmeta vbmeta_X-FLASH-ALL-D000_65.2.B.2.112.000

今後用の手順

アプデ前に色々バックアップする
	#data_backup.sh -m
	data_backupのファイルを回収
	Android_partition_auto_backup_v016 の実行(別になくてもいいかも)

開発者向けオプションの『自動システムのアップデート』をON
	必要ない気がする

バックアップ中の作業
	XperiFirmで新旧の両バージョンのイメージ入手
	両バージョンのoem.ext4を作成
		sony_dump out oem_X-FLASH-ALL-D000.sin #新も旧も。ファイル混同しないように
	新oem.ext4をラズパイにでも送りブロック共有解除
		e2fsck -E unshare_blocks oem_X-FLASH-ALL-D000_new.ext4
		oem_X-FLASH-ALL-D000_new_unshared.ext4 などにリネーム
		windowsへ返送

ストック旧oem書き戻し
	bootloaderへ再起動(USBケーブル接続しっぱなしでmagiskからこれをするとすぐ入れる)
		fastboot接続が久しぶりの場合はデバイスマネージャからsa0115を手動インストールする必要あるかも
	fastboot devices
	fastboot flash oem oem_X-FLASH-ALL-D000_old.ext4
	fastboot reboot

通常起動してboot.imgリストア
	通常起動するとストックのoemに戻るのでゴミアプリ等が復活する。キショいね
	Magisk起動
		Magiskのアンインストール
		イメージのリストア
		リストア完了!を確認

アプデする
	ダウンロードとインストール、完了
	デバイスを最適化、完了
	再起動をしない

Magiskインストール
	Magisk起動
		別スロットにインストール(OTA後)
	bootloaderへ再起動した方が多分楽?

RWマウントできる新oemを書き込む
	fastboot devices
	fastboot flash oem oem_X-FLASH-ALL-D000_new_unshared.ext4
	fastboot reboot
	通常起動確認、Magisk維持確認、バージョン確認

/oemの掃除
	通常起動した状態で/oemを掃除する。
	/data/media/0/_root_/ にoem_bloat-remove.shを作成。
	次の内容をUTF-8,LFで作る。実行権限も必要。

		mount -o remount,rw /oem
		#apps
		mv /oem/app /oem/app___
		mv /oem/deletable-app /oem/deletable-app___
		#fonts
		mv /oem/fonts/ColorUniEmoji.ttf /oem/fonts/ColorUniEmoji.ttf.bak
		mv /oem/fonts/DcmColorIEmoji.ttf /oem/fonts/DcmColorIEmoji.ttf.bak
		#bootanimation
		mv /oem/media/bootanimation.zip /oem/media/bootanimation.zip_docomo.bak
		cp -n bootanimation_mvno.zip /oem/media/bootanimation.zip
		chmod 644 /oem/media/bootanimation.zip
		#END

	/data/media/0/_root_/ にbootanimation_mvno.zipを設置 ←MVNO版のROMのbootanimation.zip
	/data/media/0/_root_/ でsuして実行
		# ./oem_bloat-remove.sh
	/oemが改変されているのを確認
	再起動


参考