[Nexus S General] oldblue910:
---------------------------------------------------------------------------

I HAVE CEASED UPDATING THIS THEAD.

The old information contained below will remain for posterity, but will no longer be updated. From this point forward, all updates to this information will be found at http://www.randomphantasmagoria.com/firmware/nexus-s

---------------------------------------------------------------------------

Below is a list of all available OTA and full ROM packages for the Nexus S, model I9020A.

THIS IS FOR I9020A ONLY. IF YOU HAVE ANOTHER VARIANT, PLEASE FIND THE THREAD FOR YOUR VARIANT.

Typical disclaimer where I tell you that all of this stuff is at your own risk and I'm not responsible if you mess up your phone, yadda yadda.

These updates are 100% stock and are NOT rooted.

HOW TO FLASH

I'm not giving instructions on how to flash ZIP files. If you don't know how to do that, you probably shouldn't be looking for stuff in this thread. There are plenty of threads on how to flash zips through recovery. Do a little reading before proceeding.

The recovery-flashable full ROM packages will only flash if your phone has no ROM, any custom ROM, or a stock ROM that's older than the version you're trying to flash. For instance, the 2.3.6 full ROM package will flash over the stock 2.3.3 ROM, but not over the stock 4.0.4 ROM.

With fastboot images, you can flash any version over any other version.

WHAT HAPPENS IF I GET AN ERROR WHILE FLASHING?

If you get an error flashing a recovery-flashable full ROM package, it means that you are running a stock ROM that's newer than the version you're trying to flash. If you're trying to downgrade, then you must install ClockworkMod recovery, then wipe system, boot, data, cache, and Dalvik cache. You will then be able to flash the older version. Optionally, you can also flash fastboot images of a version older than the version you're trying to flash.

If you get an error flashing an incremental update, it means one of four things. Either you don't have an I9020A, you aren't running a stock ROM, you have changed something with your stock ROM (this includes build.prop changes, radio or bootloader changes as well), or you're running Android 4.X and trying to update manually. These incremental updates only work if you are running a completely, perfectly stock ROM exactly the way Google provides it, with the right radio and the right bootloader. There are no exceptions to this rule. Furthermore, Android 4.X ROMs can no longer be updated manually in stock recovery. See below.

A NOTE ABOUT ANDROID 4.X OTAs

Beginning with Ice Cream Sandwich, Google has made a change to stock recovery that prevents you from flashing future OTA updates manually. Instead you are now required to wait for the OTA notification on your phone and then tap "Reboot and Install."

If this pisses you off, you have the option of unlocking your bootloader, installing either a stock Gingerbread recovery or ClockworkMod recovery, and then flashing the OTA updates manually.

LATEST VERSION

The latest Android version available for I9020A is Ice Cream Sandwich version 4.0.4, build IMM76D.

BUILD REFERENCE

PLEASE NOTE THAT GRK39C HAS BEEN PULLED BY GOOGLE BECAUSE IT BROKE TETHERING. THE FILES NO LONGER EXIST BUT THE REFERENCES AND LINKS ARE PROVIDED HERE PURELY FOR POSTERITY.

GRI54 - Android 2.3.3 (shipped on non-USA I9020A devices)

GRJ22 - Android 2.3.4 (for non-USA I9020A devices)

GTJ61 - Android 2.3.4

GRK39C - Android 2.3.6

GRK39F - Android 2.3.6

IMM76D - Android 4.0.4

FULL ROMS

FASTBOOT IMAGES

If you're comfortable with fastboot, you can flash these images to return your phone back to raw stock.

Generally the best way to do this is to perform the following steps:

Put all six fastboot images in one folder, unlock your bootloader, perform the fastboot flashes, then lock the bootloader:

fastboot oem unlock

fastboot flash bootloader bootloader.img

fastboot reboot-bootloader

fastboot flash radio radio.img

fastboot reboot-bootloader

fastboot flash recovery recovery.img

fastboot flash boot boot.img

fastboot flash system system.img

fastboot flash userdata userdata.img

fastboot erase cache

fastboot oem lock

FLASHING FASTBOOT IMAGES WILL ERASE ALL OF YOUR PHONE'S DATA AND WILL RETURN YOU TO A FACTORY STOCK, UNROOTED STATE.

Android 4.0.4/IMM76D/UCKJ1 Radio/KL1 Bootloader

Official factory fastboot images, must be flashed using fastboot on an unlocked bootloader. Contains recovery, radio, and bootloader.

THESE IMAGES MUST BE FLASHED USING BOOTLOADER VERSION I9020XXKA3

RECOVERY-FLASHABLE ROMS

Android 2.3.4/GRJ22/UCKD1 Radio/KA3 Bootloader

Unofficial, unsigned, must flash through ClockworkMod Recovery. Contains recovery, radio and bootloader.

Courtesy of XDA forum member kibmcz

Android 2.3.4/GTJ61/UCKE1 Radio/KA3 Bootloader

Unofficial, unsigned, must flash through ClockworkMod Recovery. Contains recovery, radio and bootloader.

Courtesy of XDA forum member scott8281

Android 2.3.6/GRK39C/UCKF1 Radio/KA3 Bootloader

Official, signed, can flash with ClockworkMod or stock recovery. Contains recovery, radio and bootloader.

Android 2.3.6/GRK39F/UCKF1 Radio/KA3 Bootloader

Official, signed, can flash with ClockworkMod or stock recovery. Contains recovery, radio and bootloader.

Android 4.0.4/IMM76D/UCKJ1 Radio/KL1 Bootloader

Unofficial, unsigned, must flash through ClockworkMod Recovery. Contains recovery, radio and bootloader.

Courtesy of XDA forum member kibmcz

Still need ROMs for:

Android 2.3.3/GRI54/UCKB2 Radio/KA3 Bootloader

INCREMENTAL UPDATES

The links provided here are to Google's official update package for each version. Sometimes Google provides a small incremental update package for upgrading between versions, other times they just provide full ROM packages for bigger version upgrades. For instance, Google pushed a small incremental update to upgrade from 2.3.4 to 2.3.6. If your phone was running 2.3.3, there is no 2.3.3 to 2.3.6 incremental update, so Google would push the 2.3.6 full ROM package.

If you don't see an upgrade path from your version to your desired version, it means you need to use a full ROM package above instead.

Android 2.3.3 (Build GRI54/UCKB2 Radio/KA3 Bootloader)

2.3.3 -> 2.3.4 (GRJ22)

Android 2.3.4 (Build GRJ22/UCKD1 Radio/KA3 Bootloader)

2.3.4 (GRJ22) -> 2.3.6 (GRK39C)

2.3.4 (GRJ22) -> 2.3.6 (GRK39F)

Android 2.3.6 (Build GRK39C/UCKF1 Radio/KA3 Bootloader)

2.3.6 (GRK39C) -> 2.3.6 (GRK39F)

Android 2.3.6 (Build GRK39F/UCKF1 Radio/KA3 Bootloader)

2.3.6 (GRK39F) -> 4.0.4