Xperia GX発売日翌日には不完全ながらroot取れてたりするXperia GX。先人たちの技はスゴいです。Titanium Backupでバックアップしたりバッテリー100段階にしたりするライトカスタマーな自分にはこの状態でも実は十分だったりしますw
昨夜Xperia GXは@goro_tsukiyamaさんから手ほどきを受け、続けてXperia SXは同じ手順のはずですがいくつも見落としして@cray_Dozeさんにアドバイス頂きながら無事完了しました。
■お約束■
※root化はドコモ保証を捨てることとなります。作業失敗し起動できなくなる可能性も高く、起動しない場合も自分でその解決策を見つける必要があります。また下記の作業は私個人で実施したものであり、全員が同じ結果をもたらすものではないことを予めご了承ください。
完全文鎮化することはないと思いますが、事前にこちらの考察を見て復旧ツールとしてのftfファイルを作成しておくことを強く推奨します。
■準備するもの■
Android-SDK環境があることが大前提です。環境構築は「【新・初心者向け】Android SDKの最新インストール手順2011年10月版!少しだけシンプルに解説!」が非常に分かりやすいです。
- 「たとえばこんな日は…」(@goro_tsukiyamaさんのブログ)のXperia GX(SO-04D)をroot化してみるテスト(50点)よりファイルをダウンロード。(ファイル名はrootkitGXSX.7z (911kb))
ファイルを解凍するとこんなファイルが入っています。 *7zは7-zipなどで展開できます。
@goroh_kunさんがf-10d用で作ったファイルを元に進めます。※考察することご本人から了解頂いています。
■作業手順■
作業開始前にバックアップを取ることをお忘れなく!(データ消えることはないはずですが、何が起きても泣かないこと!)
- 必要ファイルの配置
解凍したrootkitGXSXフォルダのファイルのうち、2つのtxtファイル以外の5ファイルをカレントフォルダにコピー。
(カレントフォルダとはコマンドプロンプトを開いた時に表示されるフォルダでC:\Users\ユーザ名とかです。ユーザ名のフォルダに5ファイルをコピーします) - USBデバッグ接続
Xperia GX/SXのUSBデバックをONにしてPCをUSBケーブルで接続
設定>開発者オプション>USBデバッグ - batファイル実行
su、busybox、Superuser.apkを送り込むpush.batを実行。コマンド画面が一瞬表示されますが即消えます。 - 手順書を開き流れを理解
readme_goroh_kun.txtを開き、手順(1)を実行adb restore f-10d.ab
Xperia GX/SXの画面が↓のようになるので「データを復元する」をタップ、程なく開始され終了
- 手順書(3)の確認実行
画面のようになっていたらOK - 手順書(3)の続き
ls -lを実行し、コマンドが流れてfile00 ~ file99までできていることを確認。 - 手順書(4)を実行(fileを削除)
adb shell、shell~$点滅の後ろに
cd /data/data/com.android.settings/ (enterキー)
rm a/file* (enterキー)
コマンドをコピペしてenter。削除は一瞬で完了。 - 手順書(5)を実行
$が点滅してる後ろにwhile : ; do ln -s /data/local.prop a/file99; doneコマンドをコピペしenter
link failed File existsというコマンドが流れ続けます。このまま放置。(無限ループしてる状態とのことです) - 手順書(5)の続き
別のコマンドプロンプト画面を開き、考察手順3.を実行。Xperia GX/SXの画面で「データを復元する」をタップ
完了しました、を確認したら無限ループしてるコマンドプロンプト画面を開き、「ctrl+c」で強制停止。
このプロンプト画面は×で閉じてもOK - 手順書(6)を実行
考察手順8.のプロンプト画面でlocal.propが作成されているか確認する。
ls -l local.proprw-r–r-system system 524288 1970-01-16 22:18 local.prop
となっていれば成功です。 - 手順書(7)を実行
adb rebootでXperia GX/SXを再起動させる。
起動後は通常モードではなくエミュレータモードなので動作はものすごくガクガクです。この状態では必要最低限の操作にとどめます。
※goroh_kunさんの手順書はこちらで終わりなので閉じます。 - 築山五郎さんのtxtを開く(readme_tkymgr.txt)
コマンドが大きく4つのブロックに分かれています。コマンドはこのブロック単位にコピペして行います。 - 1ブロック目実行:suを入れ込む
コマンドプロンプト画面で
adb shell するとroot@android:/#というヘッダ(?)に変わって、$が点滅した状態となりますので、以下のコマンドを打ちます。
コマンドをコピペした瞬間にコマンドが走り、完了するとXperia GX/SXが勝手に再起動します。(走らない方もいらっしゃるようで・・)sync;sync;sync /data/local/tmp/busybox mount -o remount,rw -t ext4 /dev/block/mmcblk0p12 /system dd if=/data/local/tmp/su of=/system/bin/su chown root.shell /system/bin/su chmod 06755 /system/bin/su ln -s /system/bin/su /system/xbin/su sync;sync;sync /data/local/tmp/busybox mount -o remount,ro -t ext4 /dev/block/mmcblk0p12 /system
再起動させず作業継続する場合は
sync;sync;sync;/data/local/tmp/busybox mount -o remount,rw -t ext4 /dev/block/mmcblk0p12 /system;dd if=/data/local/tmp/su of=/system/bin/su;chown root.shell /system/bin/su;chmod 06755 /system/bin/su;ln -s /system/bin/su /system/xbin/su;sync;sync;sync;/data/local/tmp/busybox mount -o remount,ro -t ext4 /dev/block/mmcblk0p12 /system
と改行を「;」(セミコロン)に置き換えて一気につなげてしまっても大丈夫だそうです。逆にrebootしないので作業効率は上がるかもです。(@cray_Dozeさんからのアドバイス)
- 2ブロック目実行:Superuser.apkの入れ込み
コマンドプロンプト画面でadb shellし、2ブロック目のコマンドをコピペ。
再び端末再起動します。(したくない場合は同じく改行を「;」に置き換えて一気に送り込む - 3ブロック目実行:busyboxの入れ込み
以下同文w - 各ファイルが正常に配置されたか確認
ls -l /system/bin/su
結果はこのようなります。(日付は作業日なので別です)
-rwsr-sr-x root root 22364 2012-08-13 22:15 suls -l /system/xbin/busybox
結果は
-rwsr-sr-x root shell 1085140 2012-08-13 22:24 busybox
となります。 - 4ブロック目実行:エミュレータモード解除し再起動
echo ro.kernel.qemu=0 > /data/local.prop chmod 666 /data/local.prop
rebootは手動で行ったほうが確実な気がしました。(一気に送ってもrebootしなかった)
- 動作確認
rebootすると元のサクサクなXperia GX/SXに戻り、アプリドロワにはSuperuser.apkがあります。 - 最終手順(ココ重要)
この手順を実行しないとChromeが起動しなかったりといろいろ支障来すので、必ず実行してください。adb shell su rm /data/local.prop reboot
(念のため最後に再起動してます)
これで完了です。
とりあえずTitanium Backupしようっと♪
@goro_tsukiyamaさん、@cray_Dozeさん、@goroh_kunさん、ありがとうございました!!