Install XXKG1 Android 2.3.4 Firmware/ROM for Galaxy S2 (II) i9100

Samsung’s done it again! The latest Android OS version 2.3.4 is now available for both Galaxy S handsets, the S1 (original Galaxy S launched last year) and the best android phone right now, the S2 (Galaxy S 2, or Galaxy S II as you like). It’s already been one month since Galaxy S got its Android 2.3.4 build with XXJVP Firmware but now Galaxy S 2 has also got the taste of the latest Android OS — heck even Google’s own nexus One phones are yet to get the Android 2.3.4. — blame the respective carrier!

People say things about TouchWiz that it’s the reason behind delays in update from Samsung but the company has just shown again that that’s not the case. Samsung has updated its devices to latest android version 2.3.4 even with custom UI TouchWiz atop, and that too, ahead of Motorola, HTC and LG and other Android phone manufacturers. So, next time you hear those things about TouchWiz, you can simply laugh it off and in fact, point the critics to this very page of S2’s Android 2.3.4 firmware XXKG1 (or to the latest Galaxy S Android 2.3.4 build – XXJVQ).

Those of you wishing to give Android 2.3.4 a try on S2 — which also brings in the Google’s talk application with support for video chat, and maybe that’s the only thing which sounds appealing apart form the 2.3.4 shine — check out the download and install instructions below. But some warnings and really important info about compatibility first, eh!

[info]This guide is applicable only for Samsung’s Galaxy S2 (S II) international version (i9100). Check your phone’s version in Settings – About Phone. It has to be “GT-i9100” for the XXKG1 firmware to be compatible with your device. If it’s not GT-i9100, simply don’t try this ROM on your android handset, don’t even think about it if you care not to brick your device.[/info] Warning: Warranty may be void of your device if you follow the procedures given on this page. You only are responsible for your device. We won�t be liable if any damage occurs to your device and/or its components.

Video Review

[youtube video_id=”lhiPl4HGNuo” width=”630″ height=”400″ /]

Pre-Installation tips:

  1. Backup your Apps and important data — bookmarks, contacts, SMS, APNs (internet settings), etc. This Android backup guide would help you.
  2. If you have Samsung’s PC software Kies installed, un-install it first because it may interrupt the flashing process.
  3. Drivers! — it’s important you’ve the proper drivers installed. Download links below:

Installation guide for XXKG1 for Galaxy S2 GT-i9100


[youtube video_id=”DenoU04sEMo” width=”630″ height=”400″ /]

Step by Step Instructions:

  1. Download the Android 2.3.4 Firmware – XXKG1. Filename: Size: 320.41 MB. Download Link.
  2. Extract the downloaded file ‘’ to get these 4 files:
    1. CODE_I9100XXKG1_CL349526_REV02_user_low_ship.tar
    2. GT-I9100-CSC-MULTI-OXAKG1.tar
    3. MODEM_I9100XXKG1_REV_02_CL1034110.tar
    4. u1_02_20110310_emmc_EXT4.pit (we won’t be using it since it’s not essential for flashing the firmware. Read Step 13 below this to know more)
  3. Download Odin software. Filename: Size: 198 KB. Download Link. Extract the zip file to folder to get 2 files – Odin3 v1.85.exe and Odin3.ini. Do not delete the .ini file (the second one) since it’s very much required, too. when asked in step 6 below, open Odin by double clicking on the Odin3 v1.85.exe file.
  4. Disconnect your phone if it’s connected to PC.  Switch Off your phone. Wait for vibration to confirm complete switch off.
  5. Now, put the Galaxy S2 in Download Mode — press and hold these keys together: Volume_DOWN+Home+Power. this is required to install the XXKG1 using Odin PC Software.
  6. Open Odin (from step 3) — Odin3 v1.85.exe.
  7. Connect your phone to PC now. You should get the message “Added! !” under the Odin’s message box in the bottom left. If you don’t get this message, than probably there is a problem with drivers. make sure you’ve drivers installed.
  8. Important! On Odin, Do NOT tick the ‘Re-Partition’ checkbox, but keep the ‘Auto Reboot’ & ‘F. Reset Time’ checkboxes ticked. Do not touch any other checkbox or tab or anything, except as required in step 9 below.
  9. Select these files in Odin at respective tabs (check out the screenshot given at the top for help):
    1. Click the PDA Tab, and select CODE_I9100XXKG1_CL349526_REV02_user_low_ship.tar (from step 2.1)
    2. Click the Phone Tab, and select MODEM_I9100XXKG1_REV_02_CL1034110.tar (from step 2.3)
    3. Click the CSC Tab, and select GT-I9100-CSC-MULTI-OXAKG1.tar (from step 2.2)
  10. Double check everything said in step 8 and 9 above. [And, do not use the file in step 2.4 anywhere in Odin]. Your Odin’s window should look real similar to the image at the very top — which is my Odin’s screen while I flashed the XXKG1 on my Galaxy S.
  11. Now, hit the START button to let the process begin. When process at Odin finishes your phone will automatically reboot — and you can unplug the cable then. Plus, you’ll get a PASS (with green background) message in the left-most box at the very top of the Odin. If it’s red and with FAIL written over it, the process flashing process wasn’t successful.
  12. When it restarts, your Galaxy S2 will be running the latest Android OS, v2.3.4 with Samsung’s custom UI TouchWiz 4 atop it. Check out your S2’s android version here – Settings → About Phone.
  13. About the .pit file (one you found in step 2.4). The .pit file re-partitions the phone’s internal memory space. You don’t need it often, that’s why we don’t use it generally. But if you are unable to flash the XXKG1 ROM successfully, you can try the whole process again but using the .pit file too this time. Important: When you use .pit file (ever!) you need to tick the Re-Partition checkbox too (which wasn’t the case earlier – check step 8 when we kept it un-ticked). So, if you are flashing the XXKG1 again, select the .pit file too (from step 2.4 ) in the PIT Tab together with all other files as said in step 9. Then, make sure the Re-Partition button is ticked too along with the Auto Reboot and F. Reset Time checkboxes — that is, all three checkboxes will be ticked if you use the .pit file.
  14. (Optional, of course) If you found this guide useful, share it with others too on webpages, forums, your Facebook/twitter/Google+ pages, etc. That would be helping us grow too!

If before flashing this, you had your phone rooted you would want the root back, right? Well, that’s very obvious. That’s why we’ll be posting a guide for that too in a couple of hours. Using the Chainfire’s CF-Root, one can flash a kernel using Odin and the phone is rooted. That is dead easy, all thanks to Chainfire !!!

UPDATE: Rooting Guide for XXKG1 Android 2.3.4 for Galaxy S2 (II) is here.

Do let us know about your experience of the XXKG1 ROM. What’s other noticeable improvements you see — or would want — apart from the Video Chat support in Google talk? And what are your suggestion to Samsung for next version of TouchWiz. Share your thoughts in comments below!


A die-hard Liverpool FC fan, Kapil is a big fan of Batman, Android and street Cricket. In that order, probably. Email: