The Android 4.0.4 OTA update started rolling out to the GSM Galaxy Nexus yesterday (where's the love, Verizon?), but many users are still without the update. Fortunately, the official update is now available for download directly from Google. Getting it installed, on the other hand, is a bit of a task. We've done most of the legwork for you here, so follow the below instructions and you'll be running 4.0.4 in no time.

Let's get started.

This update is for 4.0.2 to 4.0.4 only. If you're running any other version, don't flash this.

Verify which GNex you have

This update is for yakju only, so you need to verify your device before you even bother pulling the download. How do you do that, you ask? Luckily, there's an app for that. Just grab it from the Play Store, verify that you're device is yakju (not a variant of yakju, either), and move on to the next step.

If your device isn't yakju, then you'll have to wait for your carrier to push the update to your device. Sorry.

Download

With that out of the way, you need the download. Grab it right here.

Installation Instructions

Now for the hard fun part! Since the GNex stores OTAs in cache before flashing, you can just drop the file on your SD card and reboot. Thus, there are a few different ways to get the update on your device, but you'll either need a custom recovery, or, at the very least, be rooted.

Custom Recovery Method

We'll start with the custom recovery method first, since it's the easiest. Since the phone's bootloader must be unlocked before a custom recovery can be installed, this is pretty cut-and-dry and should work pretty similar to installing any other ROM.

These directions are for ClockworkMod Recovery. The process should be similar for other recoveries, but it may not be exact.
Any number of things can go wrong during this process, so we strongly recommend performing a backup before flashing this file.
  • Open the archive and delete the 'recovery' folder
  • Drop the file onto your SD Card
  • Reboot into recovery
  • Choose 'Install zip from SD Card'
  • Select 'Choose zip from sdcard'
  • Select the file you downloaded above
  • Wait for the device to do its thing
  • ???
  • Profit

Reboot, and you should be running 4.0.4. Congrats!

Root Method

This process is a little bit more cumbersome than the previous, but works just the same.

This is assuming that you are rooted and are using the stock recovery. If you're using a custom recovery, then use the above method.
Again, make a backup first. At this point, that should be a given.

There are actually a few different options here. The long-and-short of it is this: if you have an unlocked bootloader, you should install CWM and use the method outlined above. However, if your device's bootloader is still locked, there are three methods you could use (taken from this thread on XDA):

Method 3a - Stock recovery installed, Locked bootloader, with root;
1) Download the correct update for your build and place it in /sdcard;
2) Open a command prompt in the same directory as your ADB binary;
3) Type adb devices to make sure that your device is recognized;
4) Type adb shell
5) Type su
6) Type cp /sdcard/name-of-zip-here.zip /cache/name-of-zip-here.zip
7) Type exit
8) Type exit
9) Reboot into recovery;
10) Hold the volume up key and press the power button;
11) Select apply update or whatever the menu item is (I don't have a stock recovery installed, but it should be easy to identify);
12) Wait until it completes. Reboot. Done.

Method 3b - Stock recovery installed, Locked bootloader, with root;
1) Download the correct update for your build and place it in /sdcard;
2) Download CWM from here and place it in /sdcasrd;
3) Rename the CWM image to cwm.img;
4) Open a command prompt in the same directory as your ADB binary;
5) Type adb devices to make sure that your device is recognized;
6) Type adb shell
8) Type su
9) Type dd if=/data/media/cwm.img of=/dev/block/platform/omap/omap_hsmmc.0/by-name/recovery
10) Type exit
11) Type exit
12) Reboot into recovery;
13) Select "install zip from sdcard";
14) Select "choose zip from sdcard";
15) Select the update the you just copied to your device;
16) Wait until it completes. Reboot. Done.

Method 3c - Stock recovery installed, Locked bootloader, with root;
1) Install ROM Manager from the market;
2) Flash CWM using ROM Manager;
3) Reboot into CWM;
4) Select "install zip from sdcard";
5) Select "choose zip from sdcard";
6) Select the update the you just copied to your device;
7) Wait until it completes. Reboot. Done.

Like I said, it's more cumbersome, but it'll get the job done. If you hit any snags along the way, you can check this thread for more directions, or hit up this thread for support.

Good luck!