HTC Desire SIMロックフリー版のroot化が可能ということをツイッター上で知り、実行してみたのでその備忘録というか苦労話。Nexus Oneではroot化の話題をよく見かけていたので、HTC Desireも同じAndroidベースだしカンタンなのでは?とおもっていたが、全然違った。考えてみれば当然のこと。iPhone Jailbreakでも同じことだがOSバージョンやハードウエアによってExploitは違うので実行方法は異なるわけで。
注意喚起情報
SIMロックフリー版とは国内で発売されたSoftBank X06HTと異なり、特定キャリアのSIMカードに利用が制限されていない端末のこと。また、わたしはAndroid端末に触れて1週間の素人です。この記事を見ておかしくなったというようなクレームを受けても何のサポートもできません。いろいろリスクがあるようですので自己責任でどうぞ。
参考にさせてもらったのは “29/Apr r3 – HTC Desire rooting guide (now with new improved / easier root method!)” のサイト。Paul氏はAndroidのroot化のツールや方法などを産み出すハッカーで、iPhoneのJailbreakでいうところのDEV-TEAMやGeohot氏的な存在なのかな。
と思ったら日本語で紹介されているサイトが既にありました。こちらも有名なサイトだったり?
【ご参考】HTC Desire rooted手順
事前準備1(ブートローダーのバージョン確認)
HTC DesireのBootloaderのバージョンが0.75以下でないとダメらしい。本体の電源OFFで下のバックキーを押しながら電源を入れると通常起動とは異なるメニューが出てくるのでそこでBootloaderのバージョンを確認する。手元の端末は運良く(?)0.75なのでroot化は可能な様子。
事前準備2(Goldcardの作成)
Amexではダメですか?と思ったくらいなんのことかわからなかったが、カスタムブートローダーを準備をしておくmicroSDカードのことと理解(違うかもしれないが)。使用したのは Kingston microSDHCカード(class10/16GB)。Android SDKと必要なJavaは予めインストールしておく必要がある。コマンドを叩いて必要なコードを入手してWeb経由でイメージファイルをメールで受け取る。そのgoldcard.imgファイルをHex Editorで特定部分をディスクイメージにコピーしてmicroSDカードに保存するとGoldcardの出来上がり。手間はかかるがインストどおりにこなせば問題ない。
ちょっと面倒だったのは、自分がMacベースの環境だったこと。Hex deitorはWin版しかないのでgoldcard.imgをメールで受け取った後の作業はすべてWindowsマシンで実行した。
ISOイメージを使ったLinuxベースのブート
root化ツールをダウンロードし、それでブート(CDに焼くかVirtual PCでと)させろという指示。これがなかなかうまくいかなかった。できる人にはアタリマエのことだが、今振り返ると一番つまずいた部分になった。自分の環境はMac/Winしかないので、CDに焼いてブートさせてみたが、通常通りMacやWinが起動してインストにあるメニューが出てこない。しばらく悩み、Macに入れてあるVMware Fusionがあることを思い出し、メニューの仮想マシン>CD/DVD>ディスクイメージの選択、でISOファイルを入れても上手くいかない。
何が悪いのかわからず、VMware Fusionのヘルプを見にウェブサイトへ。そこにあったのが”VMware Player”という仮想マシンをLinux/Windows上で動かすというもの。無料なのですかさずWindowsマシンにインストールしてISOイメージを読み込ませたら一発で起動した。それまでの苦労はなんだったのかと。。。Ubuntu10.04をMacのFusionに入れたりして相当時間をロスしてしまった。。。
あとは淡々と
あとはインストどおりコマンド叩いたり、Desireを母艦PCに接続したり、ボリュームでメニューを選択するなど。2chの【android】HTC総合 part3 のスレも参考情報にしたところ、母艦接続時にDesire本体が認識されなかったり、step2でうまくいかなかったりなどのトラブルが出る人もいたようだが、自分は特段そのようなこともなくすんなりと完了した。
最後に
root化終了後に普通に起動してしまったので、どうやってroot獲れたことをどう確認するかもわからず(たとえばiPhone Jailbreakならhome screenにCydiaのアイコンがあるとか)。どうしてもスクリーンショットをSDKなしに取りたいと思っていたのでShootMeというroot権限必須アプリを入れてみたところちゃんと機能した!その後、ツイッターで教えていただいたのは、adb shellでプロンプトが”#”になることや、Settingsの中に忍者が潜んでいたりすること。なにはともあれできたらしい。満足、満足! 作業の様子を動画にしてみた。