Galaxy Nexus phone comes with a lot of different firmware variants which are updated by Samsung except three which are maintained by Google. If you are fortunate to get a Nexus phone with Google maintained firmware, you will receive updates over the air (OTA) as soon as new releases are made. Samsung releases are usually delayed and will end up in long and frustrated waiting. My phone had a Samsung variant of Icecream Sandwich (4.0.2). However, one need not be frustrated about it, we can unlock the bootloader, update to Google maintained firmware and lock the bootloader when completed.
Given below is a list of firmware variants currently in use in different countries, carriers and different models of the phone.
takju— US region and carrier-independent firmware released on models sold in the US through the Google Play Store
yakju— International region and carrier-independent firmware released on models sold throughout western Europe.
yakjudv— Variant for Australia
yakjujp— Variant for the Middle East
yakjukr— Variant for South Korea
yakjusc— Variant for Japan
yakjuux— Variant for Canada
yakjuvs— Variant for Brazil
yakjuxe— Variant for Russia and the former Eastern Bloc
yakjuxw— Variant for certain carriers in Western Europe
yakjuzs— Variant for China and Hong Kong
mysid— Variant for Verizon in the US
mysidspr— Variant for Sprint in the US
Firmware Updated by Google
Google updates the following firmware variants:
How I Did
My phone had a firmware variant,
yakjuxw which was meant for certain carriers in Western Europe and not updated by Google. The simple way to find the phone’s firmware is to install Android System Info from Google Play onto the phone, launch the application, go to
System > BuildInfos which will provide a screen like the one in the screen shot.
Product (fourth line from bottom of the list) which tells you the firmware installed. In my case, it shows
yakju, since I took the screen shot after upgrading to Jelly Bean.
We need two binaries namely
adb which can be downloaded from here for Linux and Windows; and from here for Mac OS X. I compiled the binaries in my Linux box from sources downloaded from here.
fastboot is to communicate with the phone from computer when the phone is in fastboot mode while
adb is to do the same when the phone is in normal mode.
Next step is to download factory images
yakju of Galaxy Nexus from Google.
Here goes the step by step upgrade process.
Unzip the archive for IMM761 which will explode by creating a directory,
yakju-imm76i. Change working directory to
yakju.imm76i. Unzip the zip archive,
image-yakju-imm76i.zip (there will be a zip archive by this name inside the tarball) which will provide,
android-info.txt. Connect the Galaxy Nexus phone to the computer through USB. Issue the following commands from the prompt:
adb devices(This will check if the device is connected. You will see complex alpha-numeric product code.)
adb reboot-bootloader(reboots your device into fastboot mode.)
fastboot devices(same as
fastboot oem unlock
fastboot flash bootloader bootloader-maguro-primela03.img(file name may change depending upon the ROM.)
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot erase cache
If you have completed all the above steps, you have upgraded the ROM to Google-maintained
yakju version 4.0.4. Similarly, repeat the same steps for JRO03C. Once done, you will find your phone rebooting to Jelly Bean.
You can lock the bootloader again if you want by issuing the command:
fastboot oem lock
before rebooting the device with