NOTE: Look at the new post above if your phone is *at* 2.3.3 and you want to go up to 2.3.4

If you just want the LATEST update: grab the FULL 2.3.3 image (

I decided to contribute back, mention a few vital steps, and provide a few important files now that I solved this — in order for someone to go from 2.3(.0) to 2.3.3
This assumes that you have not rooted your phone. If you have, you need to un-root it and go back to either 2.3.0, 2.3.1, or 2.3.2,

First of all, if you use the built-in “update” method, the updates need to be consecutive. For this, they are very small.

Let’s assume you just bought your Google Nexus S. It came with 2.3 (or 2.3.0 in reality). The first step is to apply the 2.3.1 update. I’ve called this: (md5: a35798d84104c7cb1d26d7946ce843fc)

The general instructions are:

0.) Put the file into the /sdcard directory.
1.) Turn off your phone
2.) Hold Power and Volume-Up until you see the recovery menu (lots of colors and 4 options).
3.) Use the Volume-Down key to scroll down and  select “Recovery” by pushing the Power key.
4.) Wait for the triangle with the exclamation point. Push the Power key and while holding it, tap the Volume-Up key.
5.) Now you can use the  the Volume keys to go to “apply update from /sdcard” and then the Power key to select it.
6.) Select the appropriate ZIP file, and then use the Power key to apply it.
7.) When everything is done, go to the Reboot option with the Volume keys and then use the Power Key to select it.

Now, that said, after you apply the first update, you go from 2.3.0 to 2.3.1. Now, apply the 2.3.2 update. I’ve called this: (md5: 714e1e1126f1a222c10ffce6c83dc6ad)

Same as before. After you go through the steps and reboot, you will be at 2.3.2. Here is where things get interesting. It seems that you need another update. Its for people who get the “Status 7” error.
This is mostly due to a firmware (those who have: GRH78C or GRH78). Here you will need to apply the LAST UPDATE, the same way you applied update1 and update2:

For GRH78C (md5: 3923f98754f756a83b3ecc44e42a2902)


Only for GRH78 (md5: 919d7f2c9e06bb03a2ff74081028bf0a)

At last, reboot, and you are on 2.3.3

Please note that *ALL* of these files have been taken from google and are official. For that exact reason, I have provided the md5 checksums, so that you can verify them before you use them.
Hope this helps.


ADDITIONAL INFORMATION AND FILES (If above did not work — very rare):

Some people (very very rare) might still get an error. This is if you have a different radio version. Check: “Settings -> About Phone -> Baseband Version”. You should have either something that ends in “XXKB1” or something that ends in “XXKB3”. Here are the two radios. Apply this the same way as the items above. You might need this BEFORE the GRH78C (or  GRH78) updates. (md5: 4805c255f10eef8b1bd54aa2d27bc30e)

or (md5: 4e9c9cf4d6470be800e00f8508b9c175)


LAST RESORT (if nothing above worked — extremely rare):

If nothing worked, try the FULL 2.3.3 OS. (md5: 3e8908941043951da5a34bb2043dd1a0)

70 Thoughts on “Google Nexus S – update manually to 2.3.1, 2.3.2, and 2.3.3

  1. john morris on January 21, 2012 at 10:49 am said:

    Hi Ventz,
    I have a nexus s on 2.3.1, baseband ,I9020 xxjk8.kernal,, android-build@apa28#1, build number GRH78.
    As you can see from the above description, its nearly the same as dave o’s above with the exception of
    my build number being GRH78, while dave o,s was build #, soju-userdebug, 2,3,1 . GRH78 85442.
    Now 2 questions,
    1/ is the problem of upgrading, possibly to do with dave o’s build number.

    2/ Sorry to ask this, but its my first smartphone with android, although no problems with computers, i find your points relating to the following confusing,…. and here they are,…..

    ADDITIONAL INFORMATION AND FILES (If above did not work — very rare):

    Some people (very very rare) might still get an error. This is if you have a different radio version. Check: “Settings -> About Phone -> Baseband Version”. You should have either something that ends in “XXKB1″ or something that ends in “XXKB3″. Here are the two radios. Apply this the same way as the items above. You might need this BEFORE the GRH78C (or GRH78) updates.

    Well looking at my baseband version above, you will see i have xxjk8, are you telling me that i need to download one of the following files listed below, before going for the full ics download. If so can this be downloaded directly onto 2.3.1 (md5: 4805c255f10eef8b1bd54aa2d27bc30e)

    or (md5: 4e9c9cf4d6470be800e00f8508b9c175)

    Anyway sorry for such a long comment, but this ice cream sandwich thing is taking over my life….. and i want it back, lol.
    Many many thanks if you can help.

  2. Dave O on January 19, 2012 at 2:06 pm said:

    Ok people, Have found somthing interesting for those of you not able to update and having problems with some models of which mine is one of them, Have sent an email to google to see what happens. Heres the link , If i don’t hear anything by next week im going to blow this over every site i find and take care of it myself. BBB here i come,

    • Wow! This is unbelievable. On a different note, personally, I cannot stand when google does these half-assed things. The thing I am dealing with is that my google voice # got locked in between two accounts (both had the same email, one was a google account and one was an old google apps when they just had email), anyway, when they merged, I lost my cellphone # and I can’t re-add it because it says it is taken. There’s no one to contact for this kind of support (even with a paid google apps domain). Good luck to you. I hope you hear back.

  3. Dave O on January 19, 2012 at 5:45 am said:

    Yes am on t-mobile. I like that comment about it being impossible to brick this phone. On that note im going to go through everything. This phone is unlocked and comes that way. Have deleted the cashes from recovery/reboot mode but not tried a factory reset from there. Did try from settings/Privacy though. Would need info on the unlocking /clockwork mod/format. . Can i not format the phone off the computer, (PC), Thanks again Ventz you have been a great help so far and if ever u r in Ft Lauderdale i owe you a few drinks even if it doesn’t work. This has been one of the best info sites i have read.

  4. Dave O on January 18, 2012 at 9:15 pm said:

    Anyone want a paperweight. Have tried everything above and comes back with same message. Also cannot do any updates with google maps or music or streetview. Says package not signed correctly. Then tells me to uninstall previous versions but there is no way to do it. Am getting ready to drive to google location and kicking some butt.Thanks anyway Ventz.

    • Dave, don’t give up. It’s impossible to brick this phone. I did my research very heavily before I got into this. I really think there’s just some bug with your software or something went screwy while you were using it before. This is the reason none of these are working. Do a factory reset. Try again. If that doesn’t work, try unlocking it, and installing the clockwork mod boot loader, and use it to delete all the caches/format the phone partitions. Is this phone on T-Mobile by the way?

  5. Dave O on January 18, 2012 at 8:40 pm said:

    Just tried 2.3.6 and get same message. Am now going to try ICS.

  6. Dave O on January 18, 2012 at 4:42 pm said:

    Have tried everything above except the ICS. That is what i will try next but am waiting for confirmation they have cured the problems and to find a good download link. Thanks.

  7. Dave O on January 17, 2012 at 9:24 pm said:

    I have a nexus s on 2.3.1, baseband ,I9020 xxjk8.kernal,, android-build@apa28#1, build #, soju-userdebug, 2,3,1 . GRH78 85442 ,Test-keys. Have tried all the above and each time comes up with same thing. ( e, failed to verify whole file signature, ) ( signature verifaction fail instaoll aborted,) Anyone any sugestions, Thanks in advance.

    • That’s very strange. The full download link should definitely work. If it doesn’t for some strange reason, I would advise to go look at the 2.3.6 full OS. At this point honestly, you should either go for that (latest 2.3 branch), or even better, get ICS 4.0.3.

  8. This post was excellent and easy to follow! Thanks! My Nexus S is now happily updated!

  9. Pingback: » Google Nexus S – 4.0.3 ICS (partial update AND full install)

  10. Elecman on May 11, 2011 at 8:25 pm said:

    Rooting your Nexus S if it has been already updated to 2.3.4 is a bit more complicated than usual at the moment because you need the ClockWork Recovery mod and you can’t install that via the market, because you need root for that. But you can flash it while in the boot menu. Here is how to do that.
    Follow the guide here:
    but with a few modifications.

    First download the file:
    And place it in the root of your phone using normal usb transfer.

    The link to the recovery-clockwork- file in the tutorial is not working, but this one does:

    After this stage:
    “then type fastboot flash recovery recovery.img and hit enter”
    do not press reboot or power off, but press “recovery”
    After the warning triangle is visible, press the power key, keep it pressed, and then press the volume up key to go into recovery mode. You are now in the clockwork recovery console.

    Click “install zip from sd card” and browse to the
    file. Flash it and then reboot. Your phone is now rooted!


  11. Elecman on May 8, 2011 at 5:27 am said:

    I found the full version of 2.3.4:
    That actually worked without giving the status 7. This was after I installed the full version of 2.3.3 using the link on this blog. My baseband version changed yet again using this update. It is now KD1 and the build number GRJ22. Hurray!
    But I have to root it again. Grrr.

  12. kof272000 on May 4, 2011 at 9:23 pm said:

    vent, you are awesome…i’ve been talking to samsung and tmobile for the past 2days and they couldn’t help me. thanks man

  13. Elecman on May 4, 2011 at 3:25 am said:

    I tried to install the new 2.3.4 version after I updated to 2.3.3 using the “install full OS instead of update – if all fails” method. Well, I got a status 7 again. So I need to get hold of the full 2.3.4 version, not just the update (which I believe the link is). Does anyone know where to get that?

  14. Pingback: » Google Nexus S – update manually to 2.3.4

  15. Ventz on May 2, 2011 at 10:03 pm said:

    @Elecman Yes it is.

  16. Ventz on May 1, 2011 at 2:30 pm said:

    Mani — no problem. Glad it worked! My next goal is find a full version of 2.3.4, but I don’t think it’s even out yet.

  17. mani on May 1, 2011 at 2:09 pm said:

    shout out man!!! BIG THANKS. I figured, why try all of the above when you have the failsafe “last resort”(FULL OS). So i started with that-it worked. then i setup 2.3.4 from your other tutorial. now im on a XXKD1 baseband and GRJ22 build. PERFECT. Thanks.

  18. mani on May 1, 2011 at 12:11 pm said:

    I have the XXXJK8 baseband / GRH78C and a superboot root on 2.3.2 with an unlocked bootloader(purchased from the UK).
    how do i unroot, can i update without unrooting and will it relock my bootloader?
    thanks in advance.

    • Ventz on May 1, 2011 at 12:46 pm said:

      Mani — I was in the same boat as you when I was looking for the 2.3.3 update and radio upgrade. With an unlocked bootloader you are fine (it will not relock, and even if it ever does, you can unlock very easily), however, root will disappear. That said, you can gain root back *very* easily in 2.3.3, so don’t worry about that. So, basically don’t bother unrooting. Just apply the last update. If it won’t let you, try the baseband update, and if it works try the last update again. I believe you will be all set at this point. If not, try the last resort — the full “large” 2.3.3 image, and that is guaranteed to work.

  19. xiaojian on May 1, 2011 at 12:46 am said:

    Update – I’ve downloaded a stock framework for 2.3.2 and then use adb to push it to the systyem, then update to 2.3.3 without any issue.


  20. Elecman on May 1, 2011 at 12:22 am said:

    I had the I9020XXJK8 baseband too and it would only opdate from 2.3.1 to 2.3.2 but not to 2.3.3. This is with baseband version GRH78C. The only thing which worked for me is to install (update) the full os. So I guess I fall into the “extremely rare” category. The full update changed my baseband to I9020XXKB1 and build number GRI40. Not sure if this makes any difference. 3g seems to work fine.

  21. xiaojian on April 30, 2011 at 11:27 pm said:

    Thanks Haider. I’ll give it a try.

  22. Haider on April 30, 2011 at 10:29 am said:

    Thanks.. all worked fine with me

  23. xiaojian on April 30, 2011 at 3:45 am said:

    When I tried to apply update from 2.3.2 to 2.3.3, it failed with following message.
    Assert failed: apply_patch_check(“/system/framework/framework-res.apk”. (status 7)
    I think the reason is that I have used percentage battery framework. Does anyone know where I could get the 2.3.2 stock framework-res.apk ?

    Many thanks,

    • Ventz on April 30, 2011 at 4:45 pm said:

      It sounds like you are in that 5-10% margin 🙂 — as mentioned before here, try the Radio updates ( or and then try 2.3.3 again. If that doesn’t work for some strange reason, see bellow that in the blog, about the FULL OS as one big re-flash. That has worked for everyone so far who has had this problem.

  24. had 2.3.2 with GRH78C (baseband ..XXJK3) both installations (-> 2.3.3 -> 2.3.4) worked great. thanks!

  25. THANK YOU VERY MUCH…your guide helped out so much!!!!

  26. good job! a meticulous guide.

  27. Hey,
    Thanks for the extremely detailed and useful instructions. Just took my phone from 2.3.2 to 2.3.3 easy, no issues.

    My baseband version was XXJK8, and so I tried to apply the radio updates before installing the 2.3.3 update. However, both of them errored out saying “E:signature verification failed, Installation aborted”.
    But then, for whatever reasons, even without applying the radio updates, I was able to successfully apply update3, and my phone status now shows 2.3.3 with baseband XXKB1. Yay!

    A quick question though – some Google searching leads me to believe that XXKB1 corresponds to GRI40, meaning XXKB3 corresponds to GRI54. Do you know if XXKB3 is a newer/better radio update than XXKB1? Should I try applying XXKB3 now that my phone has updated to 2.3.3/XXKB1?

    Thanks once again for an extremely helpful guide!

  28. m3brooklyn on April 21, 2011 at 10:02 am said:

    I was nervous about doing this, but it was completely painless – everything worked just the way you described it. Took about 15 minutes start to finish. Thank you so much for writing it up and collecting the files.

  29. thanks once I stopped the file from unzipping on my Mac your last resort download worked great so anyone doing the updates on a Mac has to make sure they turn off the default feature in their browser preferences before downloading any updates

  30. thorgoth on April 20, 2011 at 3:08 am said:

    TY for the help m8….
    really awesome job….
    that “2.) Hold Power and Volume-Up until you see the recovery menu (lots of colors and 4 options).”
    is something that i have not find in any other “guides”!!!

  31. this is great help ventz…tks..

  32. ok i have tried all of your downloads including your last resort build i have a mac and have to re-zip the files after downloading them when i try to load the file it says
    E: signature verification failed
    Installation Aborted

    i bought my phone with
    Android version: 2.3.1
    Baseband version: I9020XXJK8
    Kernel version: android-build@apa28 #1
    Build number: GRH78

    please help me

  33. Venkat on April 15, 2011 at 1:53 pm said:

    Thanks a lot!

  34. Thank you!

    I imported my Nexus S from US to EU and we don’t get OTA from our TSP yet.

    The 3rd update was crucial here. I needed the GRH78C file, which other sites never lead me to.

    – Nicolai

  35. Kieran on April 7, 2011 at 5:35 am said:

    Hi followed steps to update phone to 2.3.2 (phone arrived with 2.3.1) but I keep getting E:signature verification failed, Installation aborted. My phones build is GRH78. Any help would be great because in the UK there doesn’t seem to be any updates for this phone. O2 had never even heard of the phone when I rang up recently.

    • Ventz on April 7, 2011 at 8:50 am said:


      I would suggest trying to update using ‘’ again, and if it doesn’t work, try updating the Radio using the files provided. If the Radio update succeeds, I would try the again. Then if/when that works, try the according GRH78 (which is
      At last, try the “LAST RESORT” — installing the full OS (the ~80MB image at the end of the blog). This is sure to work. I’ve had people email me and report that after doing a radio update, they went from 2.3.1 to 2.3.3 using that.

  36. Rajesh on March 28, 2011 at 10:53 pm said:

    Thanks so much. never got my ota for 2.3.3. your link for build GRH78 worked for me. install complete. hope i like the color scheme 🙂

  37. Excellent guide, very concise, thanks!

  38. Nexus S – 2.3.1
    Umd & ahd about updating manually, but glad I did.
    Looked at another site but didn’t feel comfortable doing it until I saw this page.
    Fantastic! Do not regret it!
    Just downloaded from the links, used my file system navigation app to rename & move to sdcard folder, and followed the instructions.
    Phone feels MUCH more stable, and everything feels faster. Very happy and can highly recommend.

  39. Carter P. on March 18, 2011 at 4:21 pm said:

    OK, i tried the Final Resort update of the whole 2.3.3 OS, and it finally updated!! Idk what the problem was, but hopefully, there will no loger be anymore problems. Thank you So much!!

  40. Carter P. on March 18, 2011 at 3:51 pm said:

    i will try this now, but the weird thing is that my phone is a US TMO phone. this is where the story gets weird. I flashed a 2.3.3 rom from MoDaCo and the rom itself was a I9020XXKB3 rom, so do you think that the rom permanently changed my baseband version or do you think that the baseband versions cannot be changed? hold on a sec, i’m going to try your new methods now. oh and by the way i’m using Chrome as my browser on my Macbook.
    System info:
    Android Version: 2.3.2
    Baseband Version: I9020XXKB3
    Kernel Version: android-build@apa28#1
    Build Number:GRH78C

  41. Carter P. on March 18, 2011 at 3:00 pm said:


    Still doesn’t work upon updating. i don’t what else to try. My baseband is I9020XXKB3 and my phone will not even open the radio update, i’m getting the package can not be found… Thanks for trying and posting those instructions, but i don’t know what else to try now…

    • Ventz on March 18, 2011 at 3:29 pm said:

      Carter — Are you downloading as a zip without unzipping anywhere? A lot of mac users have Safari unzip zips by default. You have to download “as it” and store on your /sdcard. Look at the update instructions I have. I got rid of the “” and the “”, and instead of those two, I have the appropriate version for each person as the “step3”. So as long as you have 2.3.2, one of the choices should work for you. If that doesn’t work, as a final resort, try the full blown 2.3.3 install — see link. Good luck!

  42. Carter P. on March 18, 2011 at 2:10 am said:


    i recently unrooted my phone and updated my phone to 2.3.2 successfully, but upon applying the patch and the 2.3.3 update i’m still getting the Status 7 error message on both. If you know a way to fix this i would greatly appreciate it

    • Ventz on March 18, 2011 at 9:13 am said:

      Carter — I think it’s the baseband radio. You must have a different version. Check: “settings -> about phone -> Baseband version”. Mine is: I9020XXKB1. The other one I’ve seen is I9020XXKB3. I’ll upload the files for the different radios on the blog. Hopefully you just have the other one, and need to apply it before you apply 2.3.3.

  43. Good stuff Ventz! Worked like a charm.

  44. Daragh on March 17, 2011 at 10:22 am said:

    Go raibh maith agat! (thank you in Irish)

    I got the Nexus S the day it came out (Best Buy, USA), and got the first 2 updates, but have been waiting for this one forever. This worked perfectly on a stock (not-rooted) phone.

  45. fiona on March 17, 2011 at 5:23 am said:

    Ventz, this looks great thanks. Question, I purchased my Nexus S on Saturday and by Monday I had first OTA update for 2.3.1. Is it likely they’ll push another update this week for 2.3.2 and then next week 2.3.3. I’m wondering if they have a timer so once you’ve done one they schedule the next for that phone number.

    I will definitely do this manual update otherwise but wondered if I should wait a week or so for OTA.

    • Ventz on March 17, 2011 at 9:44 am said:

      Fiona — I purchased mine last Thursday. My co-worker purchased his over the weekend. I waited and waited, and nothing came from OTA. My co-worker got 2.3.1 automatically. I think it’s a bit of a hit or miss. It depends when the network picks it up, sends the info along, you get “selected” and get a push. Honestly, I would update it manually, because I have verified that these patches are the ones that are being pushed down, so at the end, you will end up with the same files. I have personally seen major improvements between 2.3.0 and 2.3.3. The “color” thing that people keep talking about (colors being toned down) is not present for me, or I am absolutely oblivious to it. The colors looks gorgeous, and a lot of small bugs have been fixed. I think the wifi radio is a bit better at handling lower signal too.

  46. cadre on March 15, 2011 at 2:33 pm said:

    hi, i have a nexus s with system 2.3.2 and would like to update it. I went thru your steps and downloaded the last only the file to my computer. When i tried to open the bootloader.img file it told me that windows could not open the file. And why when i try to delete it, my computer is having issues doing so..i wanted to update my phone cause i am having issues with really slow battery charging and my phone can get warm while using it, while using it as a hotspot or using internet radio..can you help?

    • Ventz on March 15, 2011 at 2:46 pm said:

      Carde — You have to make sure you save the zips and *not* open them. The zips (while zipped) need to be saved to the SD card. One way to do it in windows is to right click on the name and say “save link as”. Try also saving them directly to your “/sdcard” which is mounted when your phone is plugged in. Then unmount the sdcard, and reboot your phone. Let me know

  47. Thank you so much! I don’t know why XDA-Developers didn’t cover this issue.

  48. chris on March 14, 2011 at 6:27 pm said:

    Seriously, thanks man.

  49. aaronpaws on March 14, 2011 at 2:11 pm said:

    Thank you so much.
    This was such a help. You seriously just saved me like an hour.

Comment navigation


Leave a Reply

Your email address will not be published. Required fields are marked *

>> NOTE: Please use <code>...</code> to post code/configs in your comment.

Post Navigation