Xperia miniのroot化

IMGP8657.JPG

先人の努力により既にroot化の手法が確立されていたので、それに倣っただけですが、Xperia miniのroot化を行いました。mini proの場合はファイルシステムの展開、再作成などを行わなくてもroot化可能な方法が出来つつあるので、miniのほうもそのうち同様な方法が出てくるものと思います。

root化の手順は全面的に、こちらの「びぼーろく」を参考にさせて頂きました。作業には、Windows7とubuntuを使える環境が必要です。
なお、下記のroot化を行うと、本体が初期化されます。

ROMイメージの取得

まず、SEUSを使って本体を初期化します。これは、PC内に最新ROMイメージを取得するためです。ここでの注意点ですが、PC Companionではなく、SEUSを使うということです。PC Companionでも本体のアップデート、初期化が可能ですが、それだと必要なファイルが取得できません(ひょっとしたらどこかに格納されているのかもしれませんけど)。

初期化・アップデートを行うと、C:Program FilesSony EricssonUpdate Servicedb13740270blob_fsにFILE_XXXXというファイルが3つできます。複数ある場合は更新日付を見て、今回の作業で取得したものを判断してください。私の場合は、

  • FILE_278020564 66KB
  • FILE_278229436 15,336KB
  • FILE_278265309 150,399KB

というファイルができました。

XDAからConvertToolを取得し、展開しておきます。

先ほどの3つのファイルのうち、サイズが一番大きなファイル(上記ではFILE_278265309)をConvertToolを展開したフォルダにコピーし、コマンドプロンプトから下記を実行。


ConvertTool>SeusDecrypt.bat FILE_XXX(ここは数字)

同じフォルダにFILE_XXX.tgzというファイルができるので、これを7zipで展開します。展開するとFILE_XXX.tarというファイルができ、さらに展開するとsinという拡張子のファイルがいくつか出てきます。この中からsystem_S1-SW-LIVE-883F-PID1-0001-S1-PARTITION-WITH-SPARE.sinをsystem.sinとリネームしておきます(実際には名前は何でもいいです)。

続いて、ここからSIN2IMG.rarを取得して展開しておきます。

先ほど取り出したsystem.sinをSIN2IMGを展開したフォルダにコピーし、コマンドプロンプトから下記を実行。


SIN2IMG>SIN2IMG.exe system.sin system.img

出来上がったsystem.imgを何らかの方法(SDカードやネットワーク経由など)でubuntuに渡します。

ルートファイルシステムの作成

ここから、unyaffsを取得し、展開します。展開したディレクトリに移って、makeを使わずにコンパイル。


$ gcc -o unyaffs unyaffs.c

以下の作業はrootで行います、いちいちsudoするのが面倒なら、


$ sudo su -

でrootとして作業しましょう。

作業ディレクトリを作成し、system.imgを展開します。


# mkdir rootsys
# cd rootsys
# ../ehlers-unyaffs-fcfd2c0/unyaffs ../system.img

展開したディレクトリの中のapp配下(rootsys/app/)にSuperuser.apkをコピーし、パーミッションを設定します。


# cp ../Superuser.apk ./app
# chmod 644 ./app/Superuser.apk

同様にsuも./xbinにコピーして権限を設定します(もってくるsuがもともとあった場所に置いてください。私はroot化したDesire Sから抜きましたが、xbin配下にありました。bin配下の場合もあるので注意してください)。


# cp ../su ./xbin
# chmod 755 ./xbin/su
# chmod u+s ./xbin/su
# chmod g+s ./xbin/su

なお、Superuser.apkとsuはXDAで入手できますし、root化した端末が他にあればそこから抜くことでも入手可能です。

ここからmkyaffs2imageを取得し、イメージファイルを再作成します。


# ./mkyaffs2image -c 4096 -s 128 rootsys rootsys.img

出来上がったrootsys.imgを再びWindows7に渡し、fastbootで端末に書き込みます。

ブートローダのアンロックとROMイメージの書き込み

本体の電源を切り、ボリュームの上ボタンを押しながらUSB接続します。LEDが青くなればBootloaderに入っています。

作成したsu入りイメージを焼くためには本体のブートローダロックを解除する必要があります。なお、アンロック自体は公式に認められている手法ですが、アンロックすると端末の保障はなくなります。

まず、SDKのUSBドライバファイルに下記を追加


[Google.NTx86]
; SonyEricsson
%SingleAdbInterface% = USB_Install, USBVID_0FCE&PID_0DDE
%CompositeAdbInterface% = USB_Install, USBVID_0FCE&PID_0DDE&MI_01
%SingleBootLoaderInterface% = USB_Install, USBVID_0FCE&PID_0DDE
[Google.NTamd64]
; SonyEricsson
%SingleAdbInterface% = USB_Install, USBVID_0FCE&PID_0DDE
%CompositeAdbInterface% = USB_Install, USBVID_0FCE&PID_0DDE&MI_01
%SingleBootLoaderInterface% = USB_Install, USBVID_0FCE&PID_0DDE</blockquote>

次に、このサイトでIMEIを入力し、unlock keyを入手します。

端末の電源を切り、ボリュームキーの上を押しながらmicroUSBケーブルを刺して、bootloaderに入ります(画面は暗いままですが、LEDが青くなればOKです)。

コマンドプロンプトから下記を実行。


> fastboot.exe -i 0x0fce getvar version

これバージョンが返ってきたら、下記を実行、エラー等になるなら、ドライバを見直します。


> fastboot.exe -i 0x0fce oem unlock 0x(入手したキー)

続いて作成したイメージを書き込みます。


> fastboot.exe -i 0x0fce flash system rootsys.img

この後端末が無事に起動し、Superuserが使えればroot化完了です。もし端末がソニエリのロゴで固まったり、再起動を繰り返すようなら、何かが失敗しています。最初に取得したsystem.imgを焼きなおすか、ここの方法でbootloaderを再度ロックし、PC CompanionかSEUSで初期化を行いましょう(再ロックしていないと初期化できません)。

タグ: , ,

back to top