How can I update my Nexus S manually? I just bought a Nexus S from the USA and it works fine here (Spain). Just realised its version of Gingerbread is 2.3.1 though. While it's no surprise it finds no OTA updates with the local carriers, I wonder how could I get the phone up-to-date, offline style.

Suppose I don't have to root and tinker with it right?
With most OTA updates someone inevitably pulls the raw .zip file off some server and posts it online for others to use before they get the official OTA notice on their phones.


If your phone is currently on build number GRH78 then download this .zip file.  If your phone is currently on GRH78C then download this .zip file.
Rename it update.zip and place it in the root folder of your SDCard.
Shut your phone off.
Hold down the volume up and power buttons at the same time to access the bootloader.
Use the volume keys to navigate to recovery.  Press the power button to select it.
You should see a triangle with an exclamation point in it.  Hold down the power button and tap the volume up button to access the recovery menu.
Use the volume keys to navigate to apply update from /sdcard, select it with the power button, choose update.zip and press the power button to start the update.
When the update is complete, reboot your phone.


(These instructions were taken mostly from http://www.intomobile.com/2011/02/24/how-to-manually-update-your-nexus-s-to-android-2-3-3/ except for the download links.  I do not own a Nexus S and have not tested this personally.  If these instructions look incorrect to you [or anyone else!] don't use them.  If at any step during the update process the instructions do not line up with what you see, you should stop proceeding and use menu options to back as far out as you can from the menus.  I'm not responsible for anything that happens to your phone, good or bad.)