2016年3月27日日曜日

Xperia mini ST15iのroot化:UbuntuでカスタムROM(CM9、CM10)を焼く方法

UbuntuなPCを使って手持ちのスマホ Xperia mini ST15i をroot化したのでその手順をメモ。

スマホ:
Xperia mini ST15i
Androidバージョン 4.0.4
ビルド番号 4.1.B.0.587

PC:
Ubuntu 14.04.4 LTS

root化の動機:
Xperia mini ST15i にAndroid版Chromeブラウザをインストールしようとしたら空き容量不足でできなかった。ST15iは超コンパクトでとても使いやすい端末だが、空き容量の少なさだけは不満。Amazonレビューを見てもその不満が目立つ。空き容量を増やすためにプリインストールされているゴミアプリを削したり、パフォーマンスなどをカスタマイズしたかったので、ここは思い切ってroot化することに。
最終目標はST15iの「Chromephone」化です。

root化の手法:
root化には色々と方法があるが、今回はroot化できるカスタムROM(CyanogenMod)をインストールする方法に決定。理由は、それが一番カンタンそうだったから。

所要時間:
インストール作業に掛かった時間は大体25分ぐらい。(ただしカスタムROMなどのダウンロード時間を除く)
内訳は、BootloaderのUnlockで5分、CyanogenModインストールで20分。

※注意!
ここからの作業はヘタをすればスマホが文鎮化します。参考にする際は自己責任でお願いします。



準備


adb と fastboot のインストール

adbはAndroid端末に対してterminalコマンドを使えるようにするもので、fastbootはAndroid端末のbootloaderにコマンドを送信するためのツール。
Ubuntuなら以下のコマンドを叩くだけであっさりインストールが可能。激遅3G環境でもホントに一瞬で終わります!

$ sudo apt-get install android-tools-adb
$ sudo apt-get install android-tools-fastboot
わざわざAndroid SDKとJavaを入れるよりもどう考えても手っ取り早いです。Ubuntu(Linux)ならadbドライバをインストールする必要もなくて地味に嬉しい。

インストールしたadbのバージョンはこんな感じ。
$ adb version
Android Debug Bridge version 1.0.31


CyanogenMod(CM)とgappsをダウンロード


CyanogenMod(CM9)本体stable版 (cm-9.1.0-smultron.zip)
https://download.cyanogenmod.org/get/jenkins/7093/cm-9.1.0-smultron.zip
CM9のgapps (gapps-ics-20120317-signed.zip)
https://www.androidfilehost.com/?fid=22979706399755108

gappsはCM上でGoogleのエコシステム(Google PlayとかGmailとか)を使うために必要。(てかGoogleのエコシステムが使えないAndroid端末とか正直要らないです・・・)


BootloaderをUnlock


カスタムROMを焼くためには、まずはBootloaderのUnlockが必要。
今回は最も信頼が置けそうなSony公式のUnlock方法を試してみました。

端末のIMEIをメモ

1. ST15iの電話アプリから「*#*#7378423#*#*」とダイアル
2. 出現した画面から Service info > Configuration と進み「Bootloader unlock allowed:Yes」となってることを確認
4. 同画面の「IMEI」番号(15桁の数字)もメモしておく

unlock codeをゲット

1. Sony Developer Worldにアクセス
2. Select your device:のセレクトBoxで自分の端末「Xperia mini」を選択してContinueをクリック
3. 次の画面の Enter a valid email address: にちゃんとしたメアドを入力
4. no-reply@unlockbootloader.sonymobile.com からメールが来る
※Gmailでスパム扱いされててしばらく気づきませんでしたw
5. メール本文の「Click here to proceed」のリンクをクリックし、開いた画面にIMEIを入力
6. 画面に Your unlock code が表示されるのでメモしておく

いざBootloaderをUnlock

1. ST15iの 設定 > 開発者向けオプション から 「UBSデバッグ」 にチェックを入れる
2. ST15iの電源をOFF
3. Ubuntu側からUSBケーブル接続
4. ST15iのVolume Up ボタンを押しながらST15i側のUSBケーブルも接続
以上でST15iがfastbootモードで接続された状態になります。(電源LEDが青く光ってる状態)
st15iの電源LED

下記のコマンドで正しく接続されたか確認できます。
$ sudo fastboot devices
エラーが返ってこなければOK

terminalから以下のコマンドを実行するといよいよBootloader unlockが始まります。(<KEY>の部分は先ほどゲットした unlock code)
$ sudo fastboot -i 0x0fce oem unlock 0x<KEY>

これでやっとCyanogenModを焼くことができます。


CyanogenModを焼く


zipからboot.imgを取り出す

ダウンロードしておいたCMのzip(cm-9.1.0-smultron.zip)を展開し、そこから boot.img だけコピーしUbuntu側のどこかに置いておきます。

zipファイルをST15iのmicroSDへコピー

ダウンロードしておいた2つのzip(cm-9.1.0-smultron.zip と gapps-ics-20120317-signed.zip)をST15iのmicroSDへコピー。(bluetoothを使ってファイル転送するのが楽かも)

UbuntuからST15iへcm9のzipをbluetoothファイル転送
UbuntuからST15iへgappsのzipをbluetoothファイル転送

fastbootでboot.imgを焼く

Ubuntu側のカレントディレクトリを先ほどboot.imgを置いたディレクトリまで移動し fastboot を使って boot.img を焼きます。こんな風に↓
$ sudo fastboot flash boot boot.img
$ sudo fastboot reboot

fastboot reboot でST15iをリブートしている間、Volume Down ボタンを連打してリカバリモードに突入させましょう。


リカバリモードに突入

st15iのリカバリモード

リカバリモードでは、Volume上下で選択、ホームボタンで決定できる。Backボタンも使える。

既存データをwipe

ST15i内の既存データをwipe(クリア)します。
ちゃんとwipeしとかないと二度と起動できなくなる恐れがあるらしい、、、
当然wipeによって既存データは全て消えるので、困るならバックアップを取っておいたほうが良いです。
(大事なデータをGoogleのクラウドに依存している自分はバックアップを全く取らずにやってしまいましたw)
というわけでwipe手順は以下の通りになります。

リカバリモード画面上で以下のメニューを選択実行。
- wipe data/factory reset
- wipe cache partition
- advanced に移動して以下のメニューも選択実行。
- wipe Dalvik Cache
- wipe battery status

CyanogenModとgappsをmicroSDのzipからインストール




リカバリモード画面上で以下を選択実行。
- install zip from sdcard

- choose zip from sdcard
ここで2つのzip(CM本体とgapps)を焼く。
順番的には、CM本体(cm-9.1.0-smultron.zip) → gapps(gapps-ics-20120317-signed.zip) の順で。


これでCyanogenModインストール完了!


この後、USBケーブルは挿しっぱなしのまま、
- reboot system now
を選択実行してシステムをリブートしました。

CyanogenMod9のブートローディング
上のようなちょっと残念な感じのCMマスコットキャラのブートローディングが1分ほど続いて、、、


上のようなWelcome画面に。
あとは画面の支持に従って初期情報を入力するだけです。


シンプルなホーム画面にちょっとテンション上がりました。
自分はこの時にUSBケーブルを抜きました。


ちゃんと CyanogenMod 9.1.0-smultron になってますね。


CyanogenModでのroot化


CM9はデフォルトではroot状態がOFFになっているので自分でroot化の設定をする必要がありました。
1. 設定 > 端末情報 の「ビルド番号」を7回連打して開発者向けオプションを有効化!
2. 設定 > 開発者向けオプション に「Rootアクセス」が出現するのでクリックし「アプリとADB」にチェック(自分の場合はなんとなく「ADBのみ」に許可してみました)

これでroot化も完了!



念願のAndroid版Chromeインストール


GoogleMap とか Brastel 050 free とか個人的に生活必需品的なアプリをインストール後、改めてChromeをインストールしてみました。CM9になればゴミアプリも少ないのでこのまま何もしなくてもChromeインストールは可能かな、、、なんて思ったのですが、、、やっぱり容量不足でエラーでしたorz やっぱりゴミプリインストールアプリの削除(というか無効化とデータ&キャッシュ削除)は必要みたいです。

というわけで、自分が無効化した主なプリインストールアプリは以下の通りとなります。

・Gmailアプリ → 理由:Web版の方が軽くて使いやすいから
・ニュースと天気アプリ → 理由:上に同じ
・Exchangeサービスアプリ → 理由:Web版Gmailで十分だから
・メッセージアプリ → 理由:SMS使わないから

本当はGoogleMapアプリも無効化して容量を稼ごうかと思ったのですが、これだけはWebアプリ版よりも使い勝手が良かったので残すことにしました。
トークアプリを現Googleハングアウトにアップグレードするかどうかは悩むところ。なんせGoogleハングアウトアプリは容量がデカイので。。。

この状態でGoogle Playで再びChromeインストールに再挑戦、、、



ついにChromeをインストールすることもできました!


ST15iでChromeを使ってみた感想:
まだちょっとしか使ってませんが、デフォルトではちょっと重たいですね。
ただ、CM9化で出現したメニューの 設定 > パフォーマンス > プロセッサ でCPU能力を「Performance」(全力投球)にすればかなりサクサク使えます。バッテリーの減りは恐ろしく早くなりますがw
ST15iをモバイルルータとして使う時はバッテリーの持ちを再優先して「Powersave」(省エネ)で使い、ブラウジングや地図を使う時は「Performance」(全力投球)にして使うというような運用スタイルになりそうです。


TODO:
セルスタンバイ問題を解消する
カメラのシャッター音を消す
デフォルトの残念な中華フォントをなんとかする
FMラジオの周波数を日本向けにする

追記:2016/08/04
その後、バッテリー劣化が原因の再起動病が発生。 バッテリーを替えると復活したのですが、それまでの試行錯誤の過程でデータを初期化してしまいました。 せっかくなのでこれを機会にCM10(nightly build)へのバージョンUPを試みることにしました。

CM10(Android4.1.4 Jelly Bean)をインストール


CM10のカスタムROMを焼く手順としては、既にUnlock済みだと思うので上の「いざBootloaderをUnlock」から順番にやっていけばOKです。

インストールしたROM:
cm-10-20131006-NIGHTLY-smultron.zip
http://download.cyanogenmod.org/?device=smultron

インストールしたGAPP:
gapps-jb-20121011-signed.zip
https://wiki.cyanogenmod.org/w/Google_Apps

CM9の時と同じくインストールはあっさり成功。
軽く使ってみた結果、CM9よりもサクサク! 前よりも断然快適になりました。 今のところ細かいバグもありません。Wi-Fiがらみのバグも治っている模様。 これなら始めからこちらを使っておけばよかった。。。 CM10、nightlyだからって侮れません。オススメです。

0 件のコメント:

コメントを投稿