Part 3: Updating your Gingerbread Android SGS2 to ICS


It’s worth mentioning that now that we’re a few more months out on Boot 2 Gecko, we’re seeing real Community involvement; our presence at Latin American Mozcamp last month really illustrated to us how passionate the wider world is about our little OS.

At the same time, the code base is evolving, and so we’re gradually phasing out support for Gingerbread (2.3) Android for our Samsung Galaxy S2s and moving toward Ice Cream Sandwich (4.0) distribution instead.  Thus, you need to know the steps for upgrading your phone, and backing up your core Android. Please note:  PROCEED AT YOUR OWN RISK.  To do this:

1.  Download the file from here.

2.  Create a directory and extract the zip.   From the resulting archive, extract also the *md5 file  (you can ignore the others).  You should have 8 resulting files (you can ignore the dll):

$ ls -l
total 1245632
-rwxrwx— 1 mozilla mozilla    131072 Mar  8 09:19 boot.bin
-rwxrwx— 1 mozilla mozilla  19103964 Mar  8 09:22 cache.img
-rwxrwx— 1 mozilla mozilla 494711000 Mar  8 09:19 factoryfs.img
-rwxrwx— 1 mozilla mozilla 100264444 Mar  8 09:19 hidden.img
-rw-rw-r– 1 mozilla mozilla 637614157 Mar 13 03:25 I9100XXLPQ_I9100OXALPQ_I9100XXLPQ_HOME.tar.md5
-rwxrwx— 1 mozilla mozilla  12583168 Mar  7 18:59 modem.bin
-rwxrwx— 1 mozilla mozilla   1112064 Mar  8 09:19 param.lfs
-rwxrwx— 1 mozilla mozilla   1310720 Mar  8 09:19 Sbl.bin
-rw-rw-r– 1 mozilla mozilla    276480 Mar 13 03:26 SS_DL.dll
drwxrwxr-x 3 mozilla mozilla      4096 May  8 14:10 tmp
-rwxrwx— 1 mozilla mozilla   8387840 Mar  8 09:19 zImage

3. Plug your phone in, and reboot your phone to download mode:

$ adb reboot download

4. Now, from that directory where you extracted, flash your phone:

$ heimdall flash –primary-boot boot.bin –cache cache.img –factoryfs factoryfs.img –hidden hidden.img –modem modem.bin –param param.lfs –secondary-boot Sbl.bin –kernel zImage

You should now be running ICS on your device.

Now you get to do the clockworkmod setup all over again!  To do this, you must install the B2G kernel, which contains clockworkmod (backup and restore).  To do this:

Assuming you have already built B2G for Galaxy S2 ICS:

5.  In your devices Android OS Settings, enable USB debugging from Settings=> Developer options.  Then, from your B2G build directory:

$ adb reboot download
$ ./ kernel

6. Next, you need to back up your android installation:

$ adb reboot recovery 
Select “backup and restore”=> “backup”.  After backing up, reboot.
7.  Last, but not least, install latest B2G: 
$ adb reboot download
$ ./ && ./ gecko && ./ gaia (you should now be running B2G, gecko and gaia) 

To restore Android, just do

$ adb reboot recovery (and restore your image)!

On another note, heimdall can be made to run on Mac – but you need to unload the Kies extensions – or not install Kies on your Mac at all!