Android: Nexus S に公式版4.0.3をインストール

あけましておめでとうございます。

正月からさっそくAndroidを触っています。これで新年2回目の投稿です。

前回のブログに書いたように、Nexus Sを公式のAndroid2.3.6に戻したので、そこから昨年12月16日にgoogleからリリースされた公式のNexus S用のアップデート(T-Mobile版)を使って手作業でAndroid4.0.3をインストールしました。

1) 起動時のbootanimation画面 2) 最初の起動時の画面の1つ 3) 起動後の画面
4) ホーム画面 5) アプリケーション画面 6) アプリケーション画面(続き)
7) ウィジェット画面 8) 設定の画面 9) バージョン情報 (カーネルが 3.0.8 です)

以下、インストール(アップデート)の手順です。

1.  4.0.3のアップデートファイルをダウンロードする

ICS(Ice Cream Sandwich)4.0.3のリリース情報は去年の12月16日付けでforum.xda-developers.comに投稿されている。
このページに、元情報のgooglenexusのtwitterへのリンク、ダウンロード先のリンク、インストール手順の記述、インストール手順の動画がある。

[INFO] Nexus S Official ICS 4.0.3 Released Dec 16!!! (download links)

http://forum.xda-developers.com/showthread.php?t=1395828
この情報によると今回のリリースはTMO(T-Mobile)版とのこと。

ダウンロード先はandroid.clients.google.com. サイズは128MB。

http://android.clients.google.com/packages/ota/google_crespo/VQ8PQk_V.zi... (←URLが間違っていたので修正。記:1/12/2012)

*ダウンロードしてzipファイルの中のupdater-scriptを見ると、2.3.6/GRK39Fからのアップデートとなっている。→末尾の[参考]の3.

googlenexusのtwitter(https://twitter.com/#!/googlenexus)は次のような内容。

googlenexus Google Nexus
We're rolling out Android 4.0, Ice Cream Sandwich, to GSM/UMTS Nexus S devices over the coming month, starting today: goo.gl/6HRcJ
12月17日

Wikipedia(下記)によるとNexus Sには以下の5種類の型番がある。
 GT-I9020, GT-I9020T, GT-I9020A, GT-I9023, SPH-D720

12月のT-Mobile版から開始して、今月1月には順次、他の型番向けもリリースするということらしい。
forum.xda-developers.comの投稿(下記)によるとT-MobileというのはGT-I9020T(GT-I9020も?)のことのようだ。この型番のものは米国と英国で販売されているとのこと。
私の購入したNexus Sは、端末情報のベースバンドバージョンを見るとI9023だった。(こんなに種類があるとは知らなかった。。)

GT-I9020TとGT-I9023の違いは、スクリーンタイプの違いで、
 GT-I9020T:Super AMOLED (Active-Matrix Organic Light-Emitting Diode) ←愛好者がかなりいるようです(私は使ったことがないのでわからない)
 GT-I9023:Super Clear LCD
root化の方法も違うらしい。。他にどのような違いがあるか不明。

ネットにあったスペックの詳細(下記)を比較してもスクリーンタイプの違い以外は見つからず、いずれにしても同じNexus Sなのだから大差はないのだろう。
実際、今回のICS4.0.3をI9023にインストールしてとりあえず問題なく動いている。("Vol Down"+"Power"によるスクリーンショットができないが、原因は不明)
このまま色々と機能を試して、そのうちI9023版がリリースされたらまた再インストールしてみようと思う。

参考:
http://en.wikipedia.org/wiki/Nexus_S
http://forum.xda-developers.com/showthread.php?t=1031760 ←[REF] Nexus S Hardware Model variants
http://pdadb.net/index.php?m=specs&id=2690&view=1&c=samsung_gt-i9020t_ne... ←GT-I9020T
http://pdadb.net/index.php?m=specs&id=3216&view=1&c=samsung_gt-i9023_nex... ←GT-I9023

2. adbコマンドでVQ8PQk_V.zipをupdate.zipのファイル名にして/mnt/sdcardの下にpush

$ adb push VQ8PQk_V.zip /mnt/sdcard/update.zip

3. fastbootモードにして、そこからrecoveryメニューを選択。直接 "adb reboot recovery"でもOK。
  (正規のアップデートなので、Nexus S のオリジナルのrecoveryを使えば良い)

1) $ fastboot reboot bootloader または "Vol up" + "Power"で起動

2) fastbootになったらrecoveryメニューを選択。以下の画面が表示される。

  

3) "Power" + "Vol down"でrecoveryのメニューが表示される (参考:このページの最下部にメニューとメッセージを再現)
           ↓
  メニューから"apply update from /sdcard"を選択する
           ↓
  update.zipを選択する
  (アップデートは2-3分で終わります。)
           ↓
  "Install from sdcard complete."のメッセージが表示されたらアップデートは完了。
           ↓
  メニューから"reboot system now"を選択する
           ↓
  システムが起動する

4. 起動途中で次の画面が表示され、その後立ち上げが完了する (この画面例はアップグレードの終わり頃)

  

[参考]

1. 以下のURLを参考にしました。このブログの人のNexus SもT-Mobileではないようです。
http://d.hatena.ne.jp/lipbalm/20111223/1324640470

2. 最初、recoveryをclockwork(recovery-clockwork-3.0.0.0-crespo)で行なったところ、途中でassertのエラーが表示されて(どのパッケージだったか記憶なし)、その後、adbでのbootloaderやrecoveryモードへの移行ができなくなりました(通常のブートはOK)。一瞬ヒヤッとしましたが、"Vol up"+"Power"でfastbootモードにできたので、そこで再度fastbootコマンドでbootloaderとrecoveryをflashして元に戻せました。clockworkのバージョンの問題かも知れません。

3. VQ8PQk_V.zipの中に含まれているupdater-script(META-INF/com/google/android/updater-script)とアップデート後の/system/build.propの抜粋

[updater-script]
mount("ext4", "EMMC", "/dev/block/platform/s3c-sdhci.0/by-name/system", "/system");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/soju/crespo:2.3.6/GRK39F/189904:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/soju/crespo:4.0.3/IML74K/239410:user/release-keys");
assert(getprop("ro.product.device") == "crespo" ||
       getprop("ro.build.product") == "crespo");
ui_print("Verifying current system...");

[/system/build.prop]
ro.build.date.utc=1324025803
ro.product.name=soju
ro.product.device=crespo
ro.build.product=crespo
ro.build.fingerprint=google/soju/crespo:4.0.3/IML74K/239410:user/release-keys

4. Nexus S のオリジナルのrecoveryモードでの表示 (メニューは青色で、アップデート時のメッセージは黄色で表示されます)


 Android system recovery <3e>

 Volume up/down to move highlight:
 power button to select.

 reboot system now
 apply update from /sdcard
 wipe data/factory reset
 wipe cache partition
 ------------------------------------------------

 -- Install /sdcard ...
 Finding update package...
 Opening update package...
 Verifying update package...
 Installing update...
 Verifying current system...
 Removing unneeded files...
 Patching system files...
 Patching boot image...
 Unpacking new files...
 Unpacking new recovery...
 Symlinks and permissions...
 Random offset: 0x2d
 Writing bootloader...
 Patching radio...
 Patching remaining system files...

 Install from sdcard complete.