攻撃は最大の防御なり

50代おやじの適当なブログです。

rootedなHTC Sensationに公式RUUやOTAを当てる手順

2011-08-11 18:56:58 | HTC Sensation
rootedなHTC Sensationに公式RUUやOTAを当てる手順です。
この方法では最終的にS-ONに戻りますので、Revolutionaryで再S-OFFするなりして下さい。
RUUとOTAはそれぞれ利点、欠点がありますので場合により使い分けて下さい。

・RUUを当てる場合

手順は簡単ですが、systemディレクトリが完全に工場出荷時に戻ります。
つまり、それまで行ってきた変更が全てやり直しになるということです。
挙動が怪しくなって来た場合等に有効です。

まず、superCIDを設定します。
HTC SensationにClockworkMod Recoveryを適用する手順 」を参考にしてfastbootが使える状態にし、Sensationをfastboot接続します。
そして、下記のコマンドを実行


fastboot oem writecid 11111111
fastboot reboot-bootloader

ここでbootloaderが再起動しますので下記のコマンドを実行。

fastboot getvar cid

Sensationから「 11111111 」の応答があれば成功です。
後は通常起動しここから取ってきた任意のRUUを当てます。
リージョンロックが外れていますので、多分どのRUUでも当てられるのではないかと思います。

RUUが終了した時点ではS-OFFのオフィシャルbootloaderが入った状態となります。
このままRevolutionaryが当てられるかどうかは試した事がないので分かりません。
S-ONに戻すには上記superCIDの設定をもう一度行い、fastbootから下記のコマンドを実行します。

fastboot oem writesecureflag 3


・OTAを当てる場合

今の状態を保ったままアップデートがかかります。
但し、過去のカスタマイズでアップデート対象リソースを入れ換えていた場合は作業が煩雑になります。

まずはSensationのソフトウェアアップデートを確認して、OTAパッケージをダウンロードします。
ダウンロードが完了すると、今すぐインストするか?と聞かれますので後程インストするを選びます。
この状態で一回バックアップを取っておいて下さい。

ダウンロードされたOTAパッケージが/sdcard/downloadに保存されていますので、PCにコピーしてきます。
OTAを解凍すると中にfirmware.zipがあると思うのでそれも解凍しrecovery.imgを取得します。
HTC SensationにClockworkMod Recoveryを適用する手順 」を参考にしてrecovery.imgを適用します。
発行するコマンドは

fastboot flash recovery recovery.img

これでリカバリー領域がオフィシャルリカバリーに戻りました。
後は「RUUを当てる場合」に記載してあるsuperCIDの設定を行っておきます。
Sensationを通常起動し、ステータスバーの通知からアップデートを開始します。
問題が無ければ数回再起動を繰り返した後、通常起動した状態に戻ります。

この状態ではRUUを適用した場合と同じでS-OFFのオフィシャルbootloaderが入っています。
fastbootから下記のコマンドでS-ONに戻ります。

fastboot oem writesecureflag 3

ここまですんなり終わればいいのですが、もしアップデート中にビックリマークが出てしまった場合はリソースの入れ替えが行われている場合です。
電源が落ちませんので電池はずしで切って下さい。この段階ではまだアップデートが走っていないので実行前と同じ状態です。
この後も頑張れば当てられる状態に持っていけますが、作業がかなり煩雑なので出来ればRUUを当てた所にOTAを当てる方法をおすすめします。

一応この後の手順も続けて記載しますが、それなりに知識のある人向けとさせてもらいます。

まず、入れ替えたリソースを自分で把握している場合です。
先程解凍したOTA内のMETA-INF\com\google\android\updater-scriptをテキストで開き
apply_patch_checkを行っているリソースで該当のものを探します。
見つかったら書き戻してアップデートを実行。
入れ替え時に上書きしてしまって物が無い場合については後記します。

次に、入れ替えたリソースを把握していない場合。
オフィシャルのリカバリーは画面出力も無いし、adb接続も出来ない様になっています。
もし可能であるならrecovery.imgをadb接続可能に修正しlogcatで突き止めるのが楽だと思います。
もしくはS-OFFされたSensationにオフィシャルOTAを当てたいを参考にしてClockworkMod RecoveryでOTAを実行し原因を突き止めてください。
続いて、上書いてしまったリソースの取得方法ですが
今使っているROMと同じバージョンのRUUを取得してきます。
エクスプローラーで「%TEMP%」を開き、出来るだけゴミを削除して綺麗にします。
RUUを実行します。%TEMP%直下にディレクトリが2つ出来ると思うのでその中からrom.zipを任意の場所にコピーします。
コピーが終わったらRUUは終了。rom.zipを解凍しsystem.imgを取得します。
ここからunyaffsを取得し「unyaffs.exe system.img」で展開されるので物を取得します。


何か後半が非常に分かりづらいですねw
PCが直ったら画像を追加しておきますが、余り改善されないかもしれない。

HTC Sensationでrootを取得する手順

2011-08-11 12:52:12 | HTC Sensation
さて、それではHTC Sensationでrootを取る手順に入ります。
これ自体は非常に簡単な作業ですが、S-OFFが行われている事が前提です。

まずはここからsuperuserのパッケージをダウンロードします。
それをSDカードの任意の場所に放り込みます。
入れ場所は好きな場所で良いのですが見つけやすい場所が良いですね。
わざわざPCを使うのが面倒な人はSensationで直接ダウンロードしてしまっても良いです。
その場合は/sdcard/download/に保存されます。

次にClockworkMod Recoveryを使った作業に入ります。
S-OFF時にインストしていなかった人は別記の方法でインストしてから以降の作業を進めて下さい。

まずbootloaderに再起動します。
音量下押しで電源ONですね。
一回電源キーを押してメニューを切り替えRecoveryを選択します。
再起動がかかってClockworkMod Recoveryが起動しましたか?




もしこんな画面になってしまった場合はClockworkMod Recoveryがインストされていません。



上記のClockworkMod Recoveryインストの手順を行ってください。
また、この状態になってしまうと電源が切れなくなるので、電池を外して強制的に切って下さいね。

それでは作業を始める前に一回バックアップを取って置きましょう。
ここでの操作は音量キーがメニュー上下、電源キーが決定、戻るキーが戻るです。

「backup and restore 」→「Backup」





だいたいROM単体で700MB位食います。
/sdcard/clockworkmod/backupの日付フォルダーに保存されます。





バックアップが終わりました。
画像の例だとsd-extが正常終了していますが、sd-extは作らないと存在しないのでエラーになっていても構いません。
では、先程突っ込んだsuperuserのインストをしましょう。

「install zip from sdcard」→「choose zip from sdcard 」





ここでSDカード内の一覧が表示されますので、su-2.3.6.3-efgh-signed.zipを選択します。



全然関係無い話ですが画像に只今絶賛デバッグ中のSensation用CyanogenMod7.1.0のOTAパッケージが写っています。
中々上手いこと動いてくれないんですよねw

zipを選んだら下の方のyesを選ぶとインストが始まります。





この例だと一発でインスト出来ていますが、確か初回は必ずインスト失敗して再度行うと成功だったような気がします。
表示されるメッセージを注意して見てください。

これで作業は終了です。
「reboot system now」で戻りましょう。



作業前とは特に変わった様に感じないと思いますが、superuserってアプリが追加されていると思います。

バックアップが取れたのでbootloaderが起動する限り復旧が出来るようになりました。
今後Sensationに何らかの変更を行うときには
バックアップ→変更作業→動作確認
のステップを行えば確実です。
うちではSDに5世代位のバックアップを取って置いて、バックアップ取得時に最古のバージョンを消していく運用をしています。

HTC SensationにClockworkMod Recoveryを適用する手順

2011-08-11 09:04:03 | HTC Sensation
※PCが壊れてしまったため画像無しの記事になります。復旧し次第 画像を掲載する予定です。

HTC SensationにClockworkMod Recoveryを適用する手順です。
S-OFF実施済みであることが前提です。

まず、ここからfastbootをダウンロードして任意の場所に解凍します。
次に ここ からClockworkMod Recoveryをダウンロードし、先程のfastbootと同じディレクトリに置きます。

PCとSensationをUSB接続し、bootloaderに再起動します。
ボリューム下を押しながら電源ONですね。
bootloaderが起動したらメニュー一番上の「FASTBOOT」が選択された状態で電源キーを一度押します。
メニューが書き変わって赤反転文字で「FASTBOOT USB」と表示されたと思います。

この状態でPCのコマンドプロンプトを起動し、先程ダウンロードしたfastbootのディレクトリまで移動します。
そして以下のコマンドを実行。

fastboot flash recovery recovery-clockwork-4.0.1.5-pyramid.img

コマンドの応答がOKであることを確認してください。
これで完了です。
REBOOTを選んで終了しましょう。

fastbootは今後頻繁に使用する事になりますので、PATHを通してやっておくと楽です