Top Menu

Sunday, June 17, 2012

Galaxy Nexus : installing ICS 4.0.2 from factory image on the GSM/HSPA+'s model (« yakju » / « maguro »)

UPDATE 04-04-2012 :
Be aware that : All your personal data (files, photos, mp3, ...) will be erased during the process and a factory reset will be done.You should make a backup before starting the install.You should also ensure that your account's information are backed up on Google's server and that all the account have been synchronized on Google's server.You will have to parameter again all your applications : social networks account (sign in into Twitter, Facebook, or whatever account you use), cloud service account (sign in into Ubuntu One, Dropbox, Evergreen, or whatever service account you use), library account (sign in into Kindle or whatever service account you use). So, you should ensure you have all those account sign-in information with you. And be prepared to spend some time on this task.AS YOU MAY BRICK YOUR PHONE, DO IT AT YOUR OWN RISKS.
Good luck if you decide to continue with the manual update process instead of waiting for the OTA.

I've just updated my GSM/HSPA+ Galaxy Nexus (« yakju » / « maguro » model) to Android ICS 4.0.2 by flashing the factory image. I've decided to flash the factory image because manual install requires to unlock the bootloader and this single action will erase my data (userdata partition) on the device whether I flash the factory image or the OTA archive.

First of all, prepare everything : download the yakju / maguro icl53f Android 4.0.2 factory image and verify the checksum (MD5 or SHA-1)then expand the archive in a folder on your desktop computerdownload the fastboot application for Windows or Mac on your desktop computer, unzip it and copy the unzipped contents to the folder where the factory image has been expanded to. It seems the fastboot application is now in the Android SDK folder : android-sdk/platform-tools. So you just have to ensure this folder is in your PATH environment variableinstall the Android SDK on your computer. I don't know if this is a required step but who knows, it will be ready if things goes wrong ...open the flash-all.sh script file from the directory where the factory image has been expanded to in a text editoropen a command shell and go to the directory where the factory image has been expanded to
Now everything has been prepared, you're ready to proceed.

Here are the steps :
0) boot in fastboot mode following the instructions from Building for devices (shutdown your Galaxy Nexus then hold volume-up and volume-down, then press power while maintaining volume-up and volume-down until the phone vibrate)

1) unlock the bootloader following the instructions from Building for devices (the "Unlocking the bootloader" section). The Galaxy Nexus will display a warning screen and you'll have to confirm on the phone you still want to unlock the bootloader using the volume-up button then the power button)


$ fastboot oem unlock
...
OKAY [ 33.912s]
finished. total time: 33.912s

At the next Galaxy Nexus reboot, you will see an unlocked locker on the black screen with the « Google » logo.

2) flash the bootloader following the flash-all.sh script's commands provided in the factory image archive


$ fastboot flash bootloader bootloader-maguro-primekk15.img
sending 'bootloader' (2308 KB)...
OKAY [ 0.347s]
writing 'bootloader'...
OKAY [ 0.291s]
finished. total time: 0.637s

wait for a few seconds

3) reboot the bootloader following the flash-all.sh script


$ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.007s]
finished. total time: 0.007s

wait for a few seconds

4) flash the radio image following the flash-all.sh script


$ fastboot flash radio radio-maguro-i9250xxkk6.img
sending 'radio' (12288 KB)...
OKAY [ 1.749s]
writing 'radio'...
OKAY [ 1.376s]
finished. total time: 3.124s

wait for a few seconds

5) reboot the bootloader following the flash-all.sh script


$ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.006s]
finished. total time: 0.006s

wait for a few seconds

6) flash the android 4.0.2 (icl53f) image following the flash-all.sh script


$ fastboot -w update image-yakju-icl53f.zip
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: PRIMEKK15
Baseband Version.....: I9250XXKK6
Serial Number........: 0xxxxxxxxxxxxxx
--------------------------------------------
checking product...
OKAY [ 0.007s]
checking version-bootloader...
OKAY [ 0.008s]
checking version-baseband...
OKAY [ 0.008s]
sending 'boot' (4074 KB)...
OKAY [ 0.591s]
writing 'boot'...
OKAY [ 0.249s]
sending 'recovery' (4406 KB)...
OKAY [ 0.648s]
writing 'recovery'...
OKAY [ 0.295s]
sending 'system' (317594 KB)...
OKAY [ 34.419s]
writing 'system'...
OKAY [ 33.115s]
erasing 'userdata'...
OKAY [ 0.193s]
erasing 'cache'...
OKAY [ 0.015s]
rebooting...

finished. total time: 69.582s


Wait for a few seconds and your phone will reboot by itself, then restart.

7) As everything has been erased, and specially your personal information, apps, data and so on, you are asked a few information to configure your Android phone as it is a very first start.

This restoration process takes quite some time.

8) After the phone has been parametered and it has restored your data (contacts, emails, ...), apps, and the likes from Google's servers, it is strongly suggested to lock your phone's bootloader (as recommended by Jean-Baptiste Queru).

At the command prompt, execute the following command :


$ fastboot oem lock
...
OKAY [ 0.203s]
finished. total time: 0.203s

wait for a few seconds then reboot your phone

$ fastboot reboot
rebooting...

finished. total time: 0.005s

While the phone reboots you should not see any unlocked locker on the black screen with the « Google » logo.

That's it. Enjoy.

fastboot commands

$ fastboot -?
usage: fastboot [

commands:
update reflash device from update.zip
flashall flash boot + recovery + system
flash [ ] write a file to a flash partition
erase erase a flash partition
getvar display a bootloader variable
boot [ ] download and boot kernel
flash:raw boot [ ] create bootimage and flash it
devices list all connected devices
continue continue with autoboot
reboot reboot device normally
reboot-bootloader reboot device into bootloader
help show this help message

options:
-w erase userdata and cache
-s specify device serial number
-p specify product name
-c override kernel commandline
-i specify a custom USB vendor id
-b specify a custom kernel base address
-n specify the nand page size. default: 2048


View the original article here

No comments:

Post a Comment