[Samsung Galaxy Nexus] efrant:
How to flash

Since there are people who are asking how to flash these, I've written a few step-by-steps on how to flash. (These are not full ROMs - they are OTA updates for specific builds, and will NOT wipe your data. Flashable in recovery. Not un-doable without wiping data.) Again, these are stock updates -- you need a stock ROM to flash these: it cannot be deodexed, it cannot have stock apps missing, it cannot have a modified build.prop file due to some app writing to it, etc. (although root is fine) Edit: as of JWR66N, if you have used Chainfire's SuperSU to root, you must unroot first before trying to update. If you've replaced stock files with custom ones, either replace the stock ones, or go into the update zip file, and remove the assert for the file (although I don't recommend the later, as the update may not patch your custom file properly). If you are missing stock yakju or mysid files, download the factory images from here, extract the system.img from within, convert it to an .ext4.img by using this and then (for Windows users) use this to mount the .ext4.img and extract the file. These files may work in non-yakju builds as well. [/COLOR]

Notes:

1) Methods 2 & 3 assume that you have the correct drivers installed on your computer and your computer recognizes your device.

2) Method 3b assumes that you have busybox already installed on your device.

3) I have not tried method 3a, but it should work (it certainly won't mess anything up).

4) Method 3 can also be done with a terminal emulator on your device instead of using ADB.

5) For those of you that don't know, every OTA update places two files on your system (that are not there on a non-update stock ROM) that re-flash the stock recovery on EVERY boot. The two files are /system/recovery-from-boot.p and /system/etc/install-recovery.sh. You need to make sure that these files are either deleted or renamed, or else CWM will disappear when you reboot. These files serve no purpose other than re-flashing the stock recovery on every boot. So, if you've recently gotten an OTA and applied it, your CWM is gone... Use something like Root Explorer, delete them, and re-flash your CWM recovery.

6) As with all stock updates from Google, these updates will change the permissions on the su binary so, in effect, you will lose root (for those who have it). Install supercurio's OTA Rootkeeper BEFORE you do all this, or, for those with an unlocked bootloader or CWM installed, just re-flash Chainfire's SuperSU zip file found here in CWM, or manually change the permission via ADB (mount the system and chmod 4755 /system/bin/su) while booted in CWM.

7) For those that have flashed a different radio from what was supplied in the Google stock images, you either have to flash back the original radio before the update, or remove the assert and the patch/flash lines from the updater-script file in the update zip and remove the radio image or patch (if there is one). The later should only be done by advanced users who understand what I just said.

8) CDMA/LTE users: I have made note of the differences for any of the methods.

9) Non-yakju builds are updated MUCH later (i.e., weeks to months) than yakju, so if you are running a non-yakju build and are expecting an update shortly after the yakju build gets updated, you will be very disappointed.

10) For those methods below that require CWM (including Method 1), do NOT use a CWM 5-series touch version - use the one in the link provided (or use CWM 6.x or TWRP 2.2.x).

Method 1 - CWM 5.5.0.2 or 5.5.0.4 (i.e., NON-touch) recovery installed

EDIT: For those flashing a Jelly Bean update, in order to retain your CWM recovery, use the "revised" Method 1 here by Revoked instead of using the Method 1 below. (The method 1 below will work just fine for JB -- but you will need to re-flash CWM, and rename /system/etc/install-recovery.sh once you are booted.)

1) Download the correct update for your build on to your computer;

2) Open the archive and delete the recovery folder; EDIT: Do NOT do this step if it you are using any Jelly Bean update, i.e., JRN84D or newer.

3) Copy the file to /sdcard on your device;

4) Reboot into CWM;

5) Select "install zip from sdcard";

6) Select "choose zip from sdcard";

7) Select the update the you just copied to your device;

8) Wait until it completes. Reboot. Done.

Method 2 - Stock recovery installed, Unlocked bootloader

1) Download the correct update for your build on to your computer;

2) Copy the file to /sdcard on your device;

3) Download CWM from here and place it on your computer in the same directory as your fastboot binary. For CDMA/LTE devices, use this version;

4) Rename the CWM image to cwm.img

5) Reboot into fastboot mode;

6) Open a command prompt in the same directory;

7) Type fastboot devices to make sure your device is recognized;

8) Type fastboot boot cwm.img

9) Select "install zip from sdcard";

10) Select "choose zip from sdcard";

11) Select the update the you just copied to your device;

12) Wait until it completes. Reboot. Done.

Method 3a - Stock recovery installed, Locked bootloader, with root;

-- No longer works if you are updating from JRN84D or newer.

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 cat /sdcard/name-of-zip-here.zip > /cache/name-of-zip-here.zip

7) Type exit

8) Type exit

9) Reboot into recovery;

10) Briefly hold the power button and then quickly press volume up;

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 (use this method only if you have to -- use 3a or 3c first);

1) Download the correct update for your build and place it in /sdcard;

2) Download CWM from here (CDMA/LTE devices, use this version) and place it in /sdcard;

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.

Method 4a - Stock recovery installed, Locked bootloader, no root;

On JRN84D and newer ONLY: walkamake has confirmed that you can apply updates with a locked bootloader, no root and no custom recovery. (See his post here.) This is due to a new, updated stock recovery in JRN84D and newer builds.

1) Reboot your device into the stock recovery (i.e., the screen with the Android on its back with the "!";

2) Access the stock recovery menu by pressing power and volume up;

3) Select "Apply update from ADB";

4) Download the correct update for your build and place it in the same directory as your ADB binary;

5) Open a command prompt in the same directory as your ADB binary;

6) Type adb devices to make sure that your device is recognized;

7) Type adb sideload name-of-file.zip

8) Reboot. Done.

Method 4b - Stock recovery installed, Locked bootloader, no root;

On JRN84D and newer ONLY: kupuguy has confirmed that you can apply updates with a locked bootloader, no root, no custom recovery and no ADB, assuming you have an OTG cable. (See his post here.) This is due to a new, updated stock recovery in JRN84D and newer builds.

1) Reboot your device into the stock recovery (i.e., the screen with the Android on its back with the "!");

2) Access the stock recovery menu by pressing power and volume up;

3) Copy the update onto the root folder of a USB stick.

4) Connect the USB stick to the phone using a USB OTG cable

5) Select "Apply update from USB"

6) Reboot. Done.

On builds older than JRN84D: You need to either: 1) root or 2) unlock your bootloader or 3) wait until you get the update pushed to you OTA.

Follow the steps here to root without unlocking your bootloader. Then you can follow method 3a or 3c above.

Method 5 -- unlocked bootloader required

We've recently uncovered that, if the factory images are available, an easy way to update is to flash all the images EXCEPT the userdata image. All of your data will still be intact, including all installed apps and settings, and everything in /sdcard. Essentially, it is identical to upgrading via an OTA update. Follow the instructions here.