Cyanogenmod 11 (KitKat) on a Samsung Galaxy S2 i9100

Getting an Android phone running CM with root and a sim unlock still seems to be an exercise in trawling out-of-date forum posts and downloading a variety of tools, kernels and ClockworkMod builds until you hit on a good combination and can actually get into CWM. After that, installs for me have always been really simple.

So; here's the magic combination that worked for me today; resulting in an unlocked Cyanogenmod Kitkat install. Generally, I was following the Cyanogenmod guide for the device, but relied on various forum posts and some articles on ibtimes.co.uk to get there in the end.

  • ODIN v.3.0.7. 
    • Heimdall repeatedly failed for me, and guides suggesting ODIN v.1.8.5 are out of date. 
  • GT-I9100_JB_ClockworkMod-Recovery_6.0.2.9.tar 
    • Installed under 'PDA' in ODIN, above. 
    • This build of CWM can't actually install Kitkat, resulting in "set_metadata_recursive: some changes failed" caused by a change in the image format since JellyBean. Some info here. Still, you need it to bootstrap the CWM upgrade below.
    • Unfortunately, this seems to have broken mass storage support on the device, which made getting the next few zip files onto the SD card a little tricky for me. If this happens to you, install the Android dev tools, and use `adb push`. 
  • CWM-KitKatCompatible-i9100.zip, 
    • This contains a build of CWM, which can actually install Kitkat. 
    • Install this from its zip in CWM, then reboot. Check the version of CWM at the top to make sure that it succeeded.
  • UPDATE-SuperSU-v1.25.zip
    • installed via zip from CWM 
  • cm-11-20140215-NIGHTLY-i9100.zip
  • gapps-kk-20140105-signed.zip
  • Galaxy S2 SIM Unlock
    • from the Play Store after you've rebooted into CM

As a final note, I did install the jeboo_kernel_i9100_v1-2a.tar early in the process, which may have helped me get into ClockworkMod later on. I'm not 100% on whether it's necessary or not.