Wednesday, August 8, 2012

Upgrade Galaxy Nexus to Jelly Bean with fastboot on OS X.

Great news for Galaxy Nexus owners that are still waiting for their Over The Air (OTA) update to Jelly Bean. Last week Google released Jelly Bean 4.1.1 factory images for most Nexus devices (no image for CDMA/LTE Galaxy Nexus yet). This is particularly useful for folks that didn't buy their GNex from Play Store (i.e. the yakju / takju variant) and have one of the regional/carrier variants (like yakjuxw, yakjuxs, yakjuux, yakjusc, yakjuzs, yakjudv, yakjukr and yakjujp), which will take even longer to get an OTA update.

The only requirements are: GSM version of Galaxy Nexus, factory image and fastboot utility in your PATH (I'll make a separate post on how to setup fastboot utility on Mac OS X).
First step is... backup your phone. The described procedure will wipe your device clean of all apps, settings and personal data, so do a thorough backup! You've been warned.

This creates a new directory yakju-jro03c with a few image files and the flash-all.sh script. Go to command line and change into this new directory.

Switch GNex into fastboot mode by shutting it down first, then holding: Volume Up + Volume Down + Power button. Your phone should show a green droid lying on his back with his chest plate open. From here you have a few basic options (Start, Restart bootloader, Recovery mode, Power off) that could be selected with volume keys and activated with power key.

Connect your phone to your Mac with USB cable.

To see whether device is properly recognized, from command line run:

fastboot devices

If everything is in order, you'll see something like this:

DEVICESERIALNUMBER fastboot

We now need to unlock our bootloader in order to flash new image. Run:

fastboot oem unlock

You will get a warning that this step will completely wipe your phone. Accept it on the phone (volume keys to select and power key to confirm) and your bootloader will be unlocked:

...
OKAY [ 18.009s]
finished. total time: 18.009s

Now we flash the Jelly Bean by running the aforementioned script:

./flash-all.sh

The script will begin installing new bootloader, baseband firmware and operating system (once again all user data will be erased).

At this point Google recommends to lock the bootloader with fastboot oem lock command, but if you're planning to root your phone in the near future, leave it unlocked. Locking bootloader means your phone will be wiped next time you unlock it, so unless you planning to return your phone to the store - don't.