HTC UKがFacebookにて、待望のDesire Gingerbread対応ROMを公開したので、早速入れてみましょう。既にroot取得済であること前提です。
HTC公式ではありますが、紆余曲折があった上でexpert/developer向けに公開されたものなので、そういう覚悟を持つこと。
まずは万が一に備えて、Titanium Backupによるアプリと設定のバックアップ、さらにnandroid backupでイメージを保存します。Facebookに記載されている通り、developer.htc.comからHTC_Desire_Android_2.3_Upgrade.zipをダウンロードし展開。
8/28更新:開発者用のサイトが整備され、現在は http://www.htcdev.com のKernel Source Codeからダウンロードするようになっています。
中身は以下のような構成。
- HTC Desire Android 2.3 Upgrade.zip
- htc_wallpaper.zip
- Flashlight_signed_07072011.apk
- teeter_signed_07072011.apk
さらにHTC Desire Android 2.3 Upgrade.zipを展開すると、おなじみのRUU(ROM Update Utility)が出てきます。
rom.zipの抽出と調整
そのままRUUを適用してしまうと、HBOOTが1.02.0001に更新されてしまうので、Desire X06HT – RUUからのROM抽出で記載した方法でrom.zipを抽出し、調整を行います。
8/28更新:HBOOTが更新されてしまっても、Revolutionaryの0.4pre1以降を使えばroot化&S-OFF可能なので、何も考えずにRUUを適用しても問題ありません。ただその際は、適用前にSIMを抜いておくことを推奨。
rom.zipの中の、hboot_8x50_1.02.0001_SF.nb0を削除。
ClockWorkMod Recoveryが導入されているので、上書きされないようにrecovery.imgも削除しておきます。
起動時のSoftBankのスプラッシュスクリーンを残したい人は、splash1.nb0も削除しておきます。
splash2.nb0は電池残量警告のスプラッシュであり、HTC版とSoftBank版に違いはありません。
ファイル名をPB99IMG.zipに修正し、SDカードのルートディレクトリに設置します。
APN設定の書き換え
標準のままではAPNがandglobal.softbank.ne.jpになっており、アップデート後そのまま使い続けるとパケ死確定という極めて危険な状態です。
アップデート・reboot後すばやくAPN設定を書き換える、ということも可能ですが、何かの原因でリセットされて気づかず死亡という事態を避けるために、デフォルトの設定を書き換えることを選択します。
APNの設定は、/system/framework/framework-res.apkに記載されていますので、修正版framework-res.apkを作成することで対応することにしました。
まずはsystem.imgを展開してframework-res.apkを取り出します。
apktoolでリソースをデコード。
% apktool d framework-res.apk
framework-res/res/xml/apns.xml内に、SoftBankのAPN設定の記述行がありますので、適切な値に書き換えます。
書き換える内容については、自身の責任で調査することを推奨します。
※既存の2.2SBM版のframework-res.apkをデコードするといいかも。
書き換えたリソースをapktoolでビルドします。
% apktool b framework-res framework-res.new.apk
これで一見apkが生成されたように見えますが、このままでは問題があります。
framework-res.apk内のresources.arscや画像ファイルは無圧縮でないといけないようで、このまま上書きしてもブートアニメーションの無限ループになります。
無圧縮にすべきファイル数が多すぎるため、生成したframework-res.new.apkから今回修正したresources.arscおよびres/xml/apns.xmlを取り出し、既存のframework-res.apkに上書き保存するほうが手っ取り早いでしょう。
% unzip framework-res.new.apk -d framework-res.new % cd framework-res.new % 7z u -tzip -mx=0 ../framework-res.apk resources.arsc % 7z u -tzip ../framework-res.apk res/xml/apns.xml
zipalignも行なっておいたほうが良いと思われます。
% cd .. % mv framework-res.apk framework-res.tmp.apk % zipalign -f -v 4 framework-res.tmp.apk framework-res.apk
ROMの更新
bootloaderモードに入ることで、自動的にPB99IMG.zipのロードが行われます。
% adb reboot bootloader
適用するかどうかを聞かれますので、ボリュームのUPボタンを押すと、更新が始まります。
更新が終わってもrebootはしないでおきます。
修正版framework-res.apkの適用
更新が終わると、そのままbootloaderメニューからrecoveryモードに移行します。
作成したframework-res.apkを転送し、rebootします。
% adb shell mount /system % adb push framework-res.apk /system/framework/ % adb shell chmod 644 /system/framework/framework-res.apk
念のため、recoveryのメニューでdataやcacheパーティションをワイプしておくと良いでしょう。
reboot後にAPN設定を表示し、open.softbank.ne.jpになっているかどうかを確認しておきます。
後は、Desire X06HT – Superuser.apkの入れ替えを参考にsuperuserの導入を行っておきます。
2012年3月10日