Samsung Galaxy S2 (i9100)

Note: Before doing anything, make a NAND backup from recovery mode. Backup your whole ROM and data so that it can be restored to a working mode should something go wrong.

Some helpful hints on getting i9100 back from the dead.

The important points:

    1. Flash (CWM) Recovery
    2. Flash ROM

Recovery

Recovery is flashed by putting the device in Download mode and flashing the recovery partition image with Heimdall.

Installing Cyanogenmod on Samsung Galaxy S2 (i9100):

- Download mode: Volume Down, Home & Power.

In download mode, Heimdall Suite should be able to flash kernel. It didn't work in my case.

If the phone won't enter Recovery mode, use Heimdall to flash ClockworkMod Recovery. The instructions on how to flash this and CM are here. That page also contains download links.

On Linux, Heimdall suite is available in Fedora repository. Just download the Recovery image (zImage).

The command that worked in my case is:

sudo heimdall flash --KERNEL zImage --no-reboot

Pay attention to the capital KERNEL as the instructions contain lowercase version which doesn't work. The kernel partition name has to be in uppercase.

ROM

- Recovery mode: Volume Up, Home, & Power.

In recovery mode it is possible to flash Cyanogenmod image (zip).

OmniROM

From stock or Cyanogenmod it is possible to flash OmniROM. Simply copy OmniROM zip file to accessible storage and flash from recovery. Pay attention to version numbers of supported recovery!

I flashed from CWM 6.0.4.5 over CM. Then perform wipe data, cache, dalvik cache and reboot.

XDA Thread (link)

SU

SuperSU download (link). Flash the zip from recovery. In the SU Settings enable survival script so that root access stays across ROM updates.

GApps

Any 4.4.x version of GApps will do. Just flash zip from Recovery.

XDA thread (link)