Xperia Z1のrooted方法が確立されてきましたね。
しかし今までのような1クリックrootkitはまだ出ていません。現時点ではsu権限を持つカーネルをグローバルXperia Z1(root化できる)化し、CWMでドコモ版/au版のsu入りシステム・カーネルファイルを焼き戻す、という手順を踏み、ようやくrootが取れる状況です。
今回はその手順のうち、CWMで焼くドコモ版/au版のsu入りシステムファイル・カーネルファイルを作成する手順を考察します。この手順は他機種(例えばXperia Z Ultraの最新ファーム:14.1.B.2.257)でも使える手順なので、きっちり手順をまとめてみます。
※本考察は先人によって既にまとめられている手順書を元に実行した考察です。
準備するもの
prerooted.zipを作るために必要なファイルやユーティリティです。
- 7za.exe
- Flashtool
- ドコモ版ftf(14.1.H.0.542) もしくはau版ftf(14.1.C.0.467) どちらか自分の環境に合わせて
- cwm_prerooted_Z1.zip
※ftfファイルの作り方はこちらで考察済み:【How-To】一から始めるXPERIAカスタム(2)ftfファイルを作る(2013年版)
更にXperia Z1(SO-01F/SOL23)をroot化する場合は以下の準備も必要です。
- グローバル版ftf(14.1.G.1.534)
- 1クリックrootアプリ(VROOT、360root、Kingo Android Rootなど)
Kingo Android Rootの使い方はXperia Z1をほぼワンクリックでroot化できるWindowsソフト「Kingo Android Root」が公開中|juggly.cnにて解説されています。 - Dual Recovery for Xperia Z1 (LOCKED BOOTLOADERS)
手順1:ftfから必要なファイルを抜き出す
7zaを用いてsystem.sin、kernel.sinを抜き出す手順です。
- ダウンロードした7zaファイルをftfファイルを格納したフォルダにコピーします
- ftfと7zaの入ったフォルダが表示された状態(上記見え方しているところの1階層上)で、フォルダが選択された状態で「Shiftを押しながら」右クリック、「コマンドウインドウをここで開く」を選択します
- コマンドウインドウを開きます
- 次のコマンドを使用し、ftfからsystem.sinを抜き出します
(ftf名は「SO-01F_14.1.H.0.542_docomo.ftf」を前提としていますのでファイル名が違う場合は各自読み替えてください)7za e SO-01F_14.1.H.0.542_docomo.ftf system.sin
- 続けて次のコマンドを使用し、ftfからkernel.sinを抜き出します
(ftf名は「SO-01F_14.1.H.0.542_docomo.ftf」を前提としていますのでファイル名が違う場合は各自読み替えてください)7za e SO-01F_14.1.H.0.542_docomo.ftf kernel.sin
手順2:sinファイルを展開する
Flashtoolを用いて先ほど生成した「system.sin」と「kernel.sin」からCWMで焼けるドコモROMを生成する作業です。なお私が今回の作業で使用したFlashtoolのバージョンは「0.9.12.1」です。
- Flashtool>tools>sin editorを選択、system.sinを格納したフォルダ(ftf、7zaと同じフォルダ)を選択、「Extract data」をクリックします
ftf、7zaを格納しているフォルダに「system.ext4」というファイルが生成されます
- 同様にkernel.sinもsin editorを用いて「kernel.elf」を生成します
最終的にフォルダにはこんなファイルがあるはずです。(赤く色を付けたファイル)
手順3:CWM用zipファイルに2つのファイルを追加する
最後の手順です。
事前にダウンロードしたcwm_prerooted_Z1.zipにsystem.ext4とkernel.elfを追加します。
- cwm_prerooted_Z1.zipをftfや7zaと同じフォルダへコピー
- 手順1と同じように1階層上にいき、zipのあるフォルダを「shift」を押しながら右クリックし、「コマンドウインドウをここで開く」を選択しコマンドウインドウを開きます。
- 次のコマンドを用いてsystem.ext4とkernel.elfを追加します。
7za a -tzip cwm_prerooted_Z1.zip system.ext4
続けてkernel.elfを追加します。
7za a -tzip cwm_prerooted_Z1.zip kernel.elf
追加し終わったcwm_prerooted_Z1.zipを7-zipで開いてみるとこんな感じです。(圧縮して追加されています)
これで完了です。
root化する際は
- このcwm_prerooted_Z1.zipをXperia本体にコピー
- root手順に則って海外ftfを焼く
- (PCで)1クリックroot化
- CWM導入
- CWMよりcwm_prerooted_Z1.zipを焼く
これでドコモ版/au版のrootedXperiaが完成します。(もちろんおサイフケータイもフルセグもOKだそうです)
また、グローバルなXperiaの最新ファームでrootが取れない場合も同じ手順でprerootedファイルをCWMで焼けば最新ファームでのroot化も可能ですので、上記手順は覚えておくといろいろ応用が効くと思います。
recoveryツールってどうやって導入するのですかerrorになります。
たびたびすみません。
前記(11/9)で訂正です。
× 200M違っていた
○ 20M違っていた
でした。
失礼いたしました。
解決しました。
Flashtoolのverを0.9.13.0あげたら、
無事ext4で作成されました。
ありがとうございました。
ありがとうございます。
ftfはPCcompanionから作成したのですが、
某掲示板の情報とデータサイズも200Mくらい違ってたので、
気になってました。
もう一度ftfを作り直してみます。
Flashtoolのver.も 0.9.11.0 なので、それですかね。
まず最新のFlashtoolでやってみます。
正常にextractができない場合は
・元のftfファイルがおかしい
・取り出したsinファイルがおかしい
どちらかだと思います。
ftfファイルの作り直しをしてみるのがいいでしょうね
お久しぶりです。
いつも参考に拝見し続けていますw
prerooted_Z1.zipは私も作成してみました。
Flashtool で system.sin を Extract data すると
何故か拡張子が〝unknown”になりましたが、、、
当方環境は、Windows8.1、64bitです。
もちろんadbが動作する環境を整えています。
Andorid SDKのAPIも更新済みです。
母艦は、Surface Pro2。
何故でしょう??
強引に拡張子を ext4 に変える荒業を行いました。
今はZ1が入院中で試せず、作成しか出来ません。。。
なんでですかね。私はWindows7なのですが考察の通りの状態ですね。。
Z1はroot取るつもり無いので試してないのがアレですけども^^;