攻撃は最大の防御なり

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

S-OFF,rootedなHTC SensationにICSのOTAを当てる3

2012-04-18 10:22:03 | HTC Sensation
今日はリソース誤りでOTAが当てられない人用の、個別リカバリの方法です。
対象のリソースは前記方法でOTAを当てながら見つけてください。

まずはここから自分のリージョンのRUUを拾ってきます。
バージョンは今入っている物と同じか、無ければちょっと古くてもOKです。
RUUを実行してこの画面まで進めます。



ここでエクスプローラーのURLに「%temp%」と入力してenter。
日付でソートして最新のディレクトリに中身からrom.zipを適当な場所にコピーします。
完了したらRUUは終了させてOK。

rom.zipを解凍します。
この中身のsystem.imgから目的の物を頂こうという寸法です。
昔の記事ではunyaffsを使ってって書いていましたが
Sensationのsystem.imgはyaffsでなくext4なのでこの方法じゃ本当は無理です。
なのでここではDiskInternals Linux Readerってのを使います。
ここから落としてインストしてください。

Linux Readerを起動したら、「hard Disk Drives」の適当な場所を右クリックして「Mount Image」を選びます。
「Row Disk Images」にチェックが入っているのを確認してNext。
ファイル選択で先程解凍したrom.zipの中のsystem.imgを選択します。
そしたら「hard Disk Drives」の「Linux Ext Volume 1」からsystem.imgの中身が見えるので、目当てのリソースを探します。
見つかったらファイルを選択状態にして上部メニューのSaveをクリック。
適当なディレクトリを選んで実行するとそこに払い出されます。
ちなみにこの方法を使ってradio.imgの中身も覗けたりします。余り意味ないですがw
ファイルの抽出が一通り終わったら「hard Disk Drives」の「Linux Ext Volume 1」を右クリックして
「Unmount Image」しておきましょう。

これでリソースが揃えば良いのですが
次は今のバージョンのRUUが手に入らなかった場合です。
この場合はRUUの他にそのバーションに至るOTAが必要となります。
こういう場合もあるので俺は全てのOTAを捨てずに保存してあります。

それでは1.50.401.1の「/system/lib/modules/bcm4329.ko」が欲しかったけど
RUUは1.45.401.2しか手に入らなかった場合の例を書いていきますね。
先ずは1.45.401.3-1.45.401.2と1.50.401.1-1.45.401.3の中の
META-INF/com/google/androidからupdater-scriptを取得します。
この中のapply_patchが実際にパッチを当てている所です。
1.50.401.1-1.45.401.3ではbcm4329.koに変更が加わっていますが
1.45.401.3-1.45.401.2は無いですね。
と言う事は1.50.401.1-1.45.401.3だけ当ててやれば良いという事になりますので
patch/system/lib/modulesからbcm4329.ko.pを取得します。
ここでapply_patchの構文を紹介しておきますね。

apply_patch("/system/lib/modules/bcm4329.ko", "-",
      8c50584878ed3189056b57ec2ca1c36c8d403f1b, 280481,
      db6c9e5caa73efe572b14cb5d8b8f47b9bf042ca, package_extract_file("patch/system/lib/modules/bcm4329.ko.p"));

apply_patch(パッチ対象ファイル名,パッチ後ファイル名,
      パッチ後sha1sum,パッチ後ファイルサイズ,
      パッチ前sha1sum,パッチファイル名);

パッチはbspatchを使ってwindows側で当てます。ここからダウンロードして下さい。パスワードは「sensation」
bspatchの構文は
bspatch パッチ対象ファイル名 パッチ後ファイル名 パッチファイル名

です。
ファイル名を変更する要件はありませんので
bspatch bcm4329.ko bcm4329.ko bcm4329.ko.p

でOKです。
一応sha1sumも確認してみましょうか。
cygwinを使うかAndroid側(要busybox)で

sha1sum /system/lib/modules/bcm4329.ko


これが最終目的であるOTAのupdater-script内のsha1sumと一致していれば大丈夫です。

最新の画像もっと見る

7 コメント

コメント日が  古い順  |   新しい順
Unknown (Unknown)
2012-05-01 10:21:24
ICSにした際、apn設定のときにframework-res.apkの編集は必要ですか?

返信する
Unknown (アレ)
2012-05-04 11:56:06
特に変更しなくても/etc/apn-conf.xmlに
記載すれば事足りると思います。
返信する
Unknown (XE使い)
2012-09-30 19:12:37
ずいぶん前の記事にコメントすることになってしまってすみません。
HTC Seansation XEを使用していますが、先日駅を歩いているときに誤って地面に落下させてしまいました。それからどうもSensationの調子が悪く、プチフリを連発してしまいます。修理に出そうと考えているのですが、ひとつ懸念が。
SensationはHBoot1.27以降でのroot取得手順が確立されていないため、もしも修理からHboot1.27以降の状態で帰ってきてしまった際にはrootが取れないという状態になります。

仮にOSはICS、Hbootは1.27という状態で帰ってきた場合、GBのRuuを当てればGBに戻り、Hbootも1.27以前に戻るのでしょうか。それとも戻らないのでしょうか。
戻らないのであれば、Hbootをダウングレードする方法はありますでしょうか。

初歩的な質問で申し訳ありませんが、どうかよろしくお願いします。
返信する
Unknown (アレ)
2012-10-02 09:00:47
GBでhboot1.18のRUUだったら元にもどせます。
お手持ちのリージョンのRUUを探してみてください。
返信する
Unknown (XE使い)
2012-10-03 01:01:15
早速の返信ありがとうございます。
自分のXEと同じリージョンのRuuをダウンロードしました。
週末にRuu実行して、Hbootが1.18か確認しようと思います。

ありがとうございました。
返信する
Unknown (Unknown)
2012-10-16 23:31:48
失礼します。
先日修理に出して帰ってきたSensationなのですが、ICSになりH-bootも1.27になって帰って来ました。
この状態ではroot取得が出来ず、RUUを当てて見ることにしたのですが
端末側の番号が3.33.720.6になっており、同じ番号のRUUが
RUU_Pyramid_hTC_Asia_India_1.45.720.1_Radio_10.56.9035.00U_10.14.9035.01_M_release_207653_signed
しかありませんでした。
この場合、720の部分が合っていれば大丈夫だと思っていたのですが、実行してみたところ「ブートローダバージョンエラー」となり実行できませんでした。
やはり1.27ではrootの取得は出来ないのでしょうか?
返信する
Unknown (are_001)
2012-10-22 23:34:36
色々忙しくてblogが放置状態になってしまい
お返事が遅れてすみません。

こちらの記事のコメント欄に同様の事象を解決された方がいます。
リスクを伴うようですが参考まで。

http://blog.goo.ne.jp/are_001/e/97cbadfc484a18b9e58d177d477c4efd
返信する

コメントを投稿