2011年4月30日土曜日

[HOWTO] Nexus S 2.3.4(GRJ22) Update from custom kernel etc.

Nexus Sの2.3.4(GRJ22)へのアップデートが先日公開されました。OTAがきた人もいるかとおもいますが、custom kernelやBLNでliblightsを変更している人は一旦GRI40のノーマルな状態に戻す必要があります。

前提:
1.custom kernel導入済み(creams kernel 1.0.3w)
2.BLNを使うためliblights.soを変更済み
3.bcm4329.koもkernelに合わせて変更済み
4.stock ROM (CMとかじゃないです)

のような状況なので、これらを一旦戻してから、OTAを待つか、下記URLからダウンロードしたzipを当てます。今回はOTAを待たないで、アップデートしてみます。Full Wipeは嫌なので、変更部分をもとに戻して、アップデートできるかやってみます。
Nexus S update package from GRI40 to GRJ22

http://android.clients.google.com/packages/ota/google_crespo/a14a2dd09749.signed-soju-GRJ22-from-GRI40.a14a2dd0.zip
まず、上記のURLからアップデートパッケージをダウンロードして中身を確認します。patchディレクトリの下の
patch/boot.img.p
patch/system/modules/bcm4329.ko.p
があることから、boot.imgとWIFIドライバは戻す必要があります。
patch/system/lib/hw/lights.s5pc110.so.p
はないので、BLNで変更したライブラリはそのままでもよさそうです。というわけで、kernelとWIFIドライバをもとに戻してアップデートすることにします。まずWIFIドライバを戻してboot.imgの順番で行います。
adb remount
adb push bcm4329.ko /system/modules/
adb reboot bootloader
fastboot flash boot boot233.img
バックアップねーよ、という人は下記のURLからはパッチじゃない、フルにアップデートできるファイルがありますので、必要なファイルをそこから取り出すのがいいでしょう。
http://android.clients.google.com/packages/ota/google_crespo/f182cf141e6a.signed-soju-ota-102588.f182cf14.zip
起動してきたら、WIFIが認識されているのを確認して、先ほどダウンロードしてGRJ22へのアップデータを適用します。まずはダウンドードしたアップデートファイルを/sdcardにpushしておきます。
adb push a14a2dd09749.signed-soju-GRJ22-from-GRI40.a14a2dd0.zip /sdcard/
ここまではrootが保持されていると思いますので、ROM Managerから、もしくは、clockworkmodをrecoveryに適用してリカバリモードへ移行します。
adb reboot recovery
リカバリメニューの install zip from sdcard を選択して choose zip from sdcard で上記のzipをInstallします。適用が完了したら。rebootしますが、ここでchecksumエラーとかエラーがでた人は今回のパッチが変更するファイルをGRI40のものに戻す必要がありますので、エラーメッセージはちゃんと読みましょうw。

うまくいったら rebootを選択してシステムを起動します。設定→端末情報でGRJ22とAndroid 2.3.4を確認したらアップデート完了です。

次はre-rootの手順。これは前もやったと思いますが。su-2.3.6.1-ef-signed.zipを適用したらOKです。適用するにはclockwork等が必要です(この時点ではrootがないので)ので、まずrecoveryをclockworkに変更します。clockworkはROM Managerを入れている人であればdownloadディレクトリにあるはずですので、それを使いましょう。一旦PC等の母艦にadb pullで取り出しておきます。まずは、su-2.3.6.1-ef-signed.zipをsdcardへpushします。
adb push su-2.3.6.1-ef-signed.zip /sdcard/
adb pull /sdcard/clockworkmod/download/koush.tandtgaming.com/recoveries/recovery-clockwork-3.0.0.5-crespo.img .
adb reboot bootloader
fastboot flash recovery recovery-clockwork-3.0.0.5-crespo.img

その後、fastbootメニューからrecoveryを選択してclockworkの画面に入ります。

mount メニューから
/system/
/data/
をマウントして
install zip from sdcard で su-2.3.6.1-sf-signed.zipを適用してrebootします。

起動したらadbからrootになれるか確認します。

adb shell
su
めでたくrootになれればOKです。
次回はGRJ22でのcustom kernelでも書こうかとおもいます。

以上、ためす場合は自己責任でよろしく!

0 コメント:

コメントを投稿