はじめての文鎮(仮)
NFC書き込みやP2P通信など、Android 2.3.3でNFCのほぼ全機能のAPIが用意されました。なので、Nexus Sを2.3.2→2.3.3にアップデートするべく手動でOTAをあてたのですが、大変手こずったので、ココにメモを残します。同じような症状が出る方の助けになれば。ただし私はこれでうまくいったという手順なので、実施には自己責任でお願いします。
環境
通常ならばNexus Sはカスタムリカバリをフラッシュしても完全にはリカバリ書き換えはできず、bootloaderでフラッシュした直後でないとカスタムリカバリが起動できないようになっているのですが、私の場合はなぜか完全にリカバリが書き変わってました。
症状
リカバリが完全に書き変わっているのでOTAがおりてきても適用できません。手動であてる必要があります。そこで、xdaの下記スレッドを参考にしてOTAイメージをダウンロードしてあててみました。
- スレッド:http://forum.xda-developers.com/showthread.php?t=967953
- OTAイメージ(GRH78C用):http://android.clients.google.com/packages/ota/google_crespo/98f3836cef9e.signed-soju-GRI40-from-GRH78C.98f3836c.zip
しかし、下記のように"Verifying current system..."のところで止まってしまいます。
Verifying current system.. assert failed: apply_patch_check("MTD:boot:29491024: <random letters and numbers> E:Error in /sdcard/update.zip (Status 7) installation aborted.
同様にROMフルイメージもあててみましたが、同様のエラーが出ました。
ちなみに、xdaのスレッドから出荷時イメージをダウンロードしてflashすることでbootイメージやリカバリイメージを書き換えることもこころみましたが、だめでした。
こんな感じになります。
# fastboot flash boot boot.img sending 'boot' (xxx KB)... OKAY writing 'boot'... FAILED (remote: Write Fail)
さて困った。
結論
結論としては、clockworkModで2.3.1のバックアップをとっていましたので、そこからリストアして2.3.1にいったん戻し、ROMフルイメージをあてることでうまくいきました。ついでにリカバリの挙動が妙なのももどりました。