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.
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 computer
- download 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 variable - install 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 editor
- open 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)
At the next Galaxy Nexus reboot, you will see an unlocked locker on the black screen with the « Google » logo.
$ fastboot oem unlock
...
OKAY [ 33.912s]
finished. total time: 33.912s
2) flash the bootloader following the flash-all.sh script's commands provided in the factory image archive
wait for a few seconds
$ fastboot flash bootloader bootloader-maguro-primekk15.img
sending 'bootloader' (2308 KB)...
OKAY [ 0.347s]
writing 'bootloader'...
OKAY [ 0.291s]
finished. total time: 0.637s
3) reboot the bootloader following the flash-all.sh script
wait for a few seconds
$ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.007s]
finished. total time: 0.007s
4) flash the radio image following the flash-all.sh script
wait for a few seconds
$ fastboot flash radio radio-maguro-i9250xxkk6.img
sending 'radio' (12288 KB)...
OKAY [ 1.749s]
writing 'radio'...
OKAY [ 1.376s]
finished. total time: 3.124s
5) reboot the bootloader following the flash-all.sh script
wait for a few seconds
$ fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.006s]
finished. total time: 0.006s
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 :
wait for a few seconds then reboot your phone
$ fastboot oem lock
...
OKAY [ 0.203s]
finished. total time: 0.203s
While the phone reboots you should not see any unlocked locker on the black screen with the « Google » logo.
$ fastboot reboot
rebooting...
finished. total time: 0.005s
That's it. Enjoy.
fastboot commands
$ fastboot -?
usage: fastboot [ <option> ] <command>
commands:
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] 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 <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address
-n <page size> specify the nand page size. default: 2048