見出し画像

国内版Xperia1にGSIを焼くまでの道のり...

Xperia1 IIに変えてからお役御免状態だった投げ売りのSoftBank版Xperia1にGSIを焼いてAndroid12にしてみようかと思ったところ色々とコケたので他者にそれがないように備忘録を記す事にした。当然だが、失敗してもリストアしたりなどの知識がない奴はやるな。TAをバックアップする場合にダウングレードが必要になりますが、焼いてはならないと言われているTAは焼かないと初期設定時でフリーズするようです。SIMlock.ta以外のTAを焼いた状態でダウングレードをしましょう。

1.CVE-2020-0041の脆弱性を使った一時rootでTAのバックアップ

丁度SoftBank版Xperia1だったので一時rootでTA領域のバックアップをしました。これを行う事でBootloader Unlock(後述)時にカメラ性能などが落ちる問題を修正する事ができたりします。SoftBankの802SO-55.1.B.0.202のROMを焼けばdocomoでもauでも同様にやれると思います。

[xperia 1/5] temp root exploit via CVE-2020-0041 including magisk setup

一時rootの取得、一行ごとにスペースを空けてます。
adb push x1x5-mroot.zip Magisk-v20.4.zip /data/local/tmp

cd /data/local/tmp
unzip x1x5-mroot.zip

chmod 755 x1x5-mroot magisk-setup.sh magisk-start.sh
./magisk-setup.sh

cd /data/local/tmp
./x1x5-mroot

./magisk-start.sh -1

./magisk-start.sh -2

./magisk-start.sh -3

$(ダラー)が#(ハッシュ)になっていれば一時root成功。
TAとPersistのバックアップ(内部ストレージに保存されます)
#dd if=/dev/block/bootdevice/by-name/TA of=/sdcard/ta.img
#dd if=/dev/block/bootdevice/by-name/persist of=/sdcard/persist.img

MD5のチェック
#md5sum /dev/block/bootdevice/by-name/TA
#md5sum /sdcard/ta.img

2.qUnlock ToolでBootloader Unlockを許可する状態に書き換える

qUnlock Toolというツールを使用し、本来はBootloader Unlockを許可していない国内モデルに許可をさせるように書き換えます。因みにこのツールは有料です。eBayでも購入できると情報がありましたが、現在そちらの販売は終了しています。現在はNetwork Unlockingというサイトでのみライセンスを購入する事ができます。決済でPayPalが使えるのでそちらを推奨します。

決済後なのですが、ここのショップに問題がありました、決済後におよそ2日程でライセンスが届くと話があったのですが、4日程経過しても決済の進捗が進まない問題が起きました。この場合、右下にWhatsappで問い合わせをするボタンがあるのでそこから問い合わせてください。(Whatsappをインストールする必要があります)問い合わせた後、何の報告も無くしれっと処理が完了していました。(雑すぎる...)qUnlockToolは発行されたアカウントとパスワードを入力する事でライセンスの有無のチェックし許可をする書き換えを行います。TAの領域を書き換えるようなのでもう一度のTAのバックアップをやっておきましょう。

Sony Xperia Cable Unlock / FRP Removal – 0 Counter Supported – qUnlock S1 Unlock Tool

3.Bootloader Unlockをする

Sonyのデベロッパーサイトからアンロックコードの発行を行います。発行はあっさりと終わるのでコードのメモをしておきましょう。問題はここからです。自分は「15 seconds ADB Installer」でadbとfastbootの環境を構築していました。ここでコケました。この状態ではXperiaのfastbootが認識されません。この場合は、Flashtoolに内包されているfastbootドライバをインストールしないと認識されません。64bit環境になるとドライバの署名の無効化をした状態でないとインストールができません。それらの条件を突破する事でBootloader Unlockがやれる準備が整います。(長いね...)Bootloader Unlockを開始するとデータはすべて初期化されます、同時に格納されているDRM(TAなど)も消えます。

Unlock Bootloader - Open Devices - Sony Developer World

4.boot.imgとvbmeta.imgとuserdata.ext4を入手する

次にXperiaのFTF内部やXperiFirmで取得した「SINファイル」を取り出します。FTFは単なるzipファイルなのでWinRARやExplzhなどのアーカイバで展開できます。「boot_X-FLASH-ALL-A2CD.sin」「vbmeta_X-FLASH-ALL-A2CD.sin」「userdata_X-FLASH-CUST-A2CD.sin」の3つになります。これらを取り出したらそれらのSINファイルをUnSINを使用してboot.imgとvbmeta.imgとuserdata.ext4に変換します。

5.Sonyのデベロッパーサイトからソフトウェアバイナリをダウンロードする

Xperiaはデバイスに適したソフトウェアバイナリ(vendor.img)が必要になります。Xperia1のモデルは「kumano」です。OSのバージョンに適した物をダウンロードしてください...と書いてましたが焼かなくても問題ないようです。一応補足程度で見ておいてください。

ソフトウェアバイナリのダウンロード

6.Magiskでrootを取る

こちらは任意になります。TAのリストアを行う場合はこの作業を行ってください。MagiskのapkをXperiaにインストールし、UnSINで変換したboot.imgをXperiaの内部ストレージにコピーをし、Magiskのパッチをboot.imgに当ててください。パッチ後はboot.imgをPCに移動、fastbootモードを起動しMagiskのパッチをしたboot.imgとvbmeta.imgを焼きます。

fastboot flash boot ファイルのパス/magisk_boot.img
fastboot --disable-verity --disable-verification flash vbmeta ファイルのパス/vbmeta.img
fastboot reboot

7.TA.imgとPersist.imgを焼く

OSの起動後にMagiskでroot状態になっているのでadbで

adb push ファイルのパス/ta.img /data/local/tmp
adb push ファイルのパス/persist.img /data/local/tmp

adb shell
su
#dd if=/data/local/tmp/ta.img of=/dev/block/bootdevice/by-name/TA
#dd if=/data/local/tmp/persist.img of=/dev/block/bootdevice/by-name/persist

で、TA.imgとPersist.imgを焼きます。PersistでWidevineがL3からL1に戻るらしいのですがそれはL3のままでした。

8.GSIを焼く

ここからが本番です。行程で揃えたファイルをそれぞれ焼きます。

fastboot erase system
fastboot flash system ファイルのパス/GSIのイメージ.img
fastboot flash oem ファイルのパス/SW_binaries_for_Xperia_Android_XXXX_Kumano.img (これはソフトウェアバイナリのimg)
fastboot flash boot ファイルのパス/boot.img
fastboot flash userdata ファイルのパス/userdata.ext4
fastboot --disable-verity --disable-verification flash vbmeta ファイルのパス/vbmeta.img
fastboot reboot

何故userdata.ext4を焼くのかというと本来は「fastboot -wでdataのwipeができる」のですが、エラーが出るという謎現象とGSIがブートアニメでループをする現象が起きたからです。(これの解決方法が浮かばず一回GSIを諦めました)上手くいけばAndroid標準のリカバリメニューが表示され、Factory data resetを行う事でGSIが起動するようになるはずです。補足ですが、初回起動時のみMagiskのパッチをしたboot.imgでは起動に失敗するので、一端標準のboot.imgに戻して起動をさせた後にパッチ済みのboot.imgを焼く事でrootにできます。

画像1

Stockに戻したくなったらFlashtoolなりNewflasherなり使うのは流石にわかるよな。これで売れ残りのXperia1に第二の人生を与えてやってください。

補足ですが、XDAで配布されているTWRPはバグだらけで全く使い物になりませんでしたdataのwipeをやろうとしたらフリーズするのでご注意を。

追記:Android10の環境にてGSIを使用すると機種の情報を取得できず、Phh-Trebleとなるようです。Android11の環境でGSIを焼く事で機種の情報を取得した状態の表示にする事ができます。(docomo版とau版の表示になりますが...)boot.imgも10と11で異なり、焼くバージョンを間違えるとタッチの操作ができなくなる点にもご注意ください。

この記事が気に入ったらサポートをしてみませんか?