I MAKE NO GUARANTEES OR EXCEPT
ANY RESPONSIBILITY WHATSOEVER - FLASHING ROMS CAN DAMAGE YOUR PHONE IRREPARABLY. YOU FLASH AT YOUR OWN RISK.
If you're still rooted and have CWM, it's quite straightforward to go from Ginger Bread to Ice Cream Sandwich.
I'm assuming here your phone is a GT-i9100 and not any other variant. If not, please do a search for your variant of the SGSII
Keep your old back ups, you can always restore them from recovery mode of CWM should anything go wrong. Download "Root Explorer" (you'll see why later) from the play store:
https://play.google.com/store/apps/...sImNvbS5zcGVlZHNvZnR3YXJlLnJvb3RleHBsb3JlciJd
Now do another of both CWM (a nandroid backup) and a new Titanium back up. Then using Root Explorer copy your EFS folder to your external SD card and your PC. Your EFS folder contains very specific phone data, it is possible to corrupt it flashing ROMS etc and without a valid copy your phone is kaput. (EFS is in the "root" directory - the first one you see when you open Root Explorer you'll need to toggle to "mounted as R/W" to copy it as it is a system folder)
Now choose a ROM, I thoroughly recommend NEAT by salesale, although there are others to choose from including Jelly Bean ROMs (Neat is based on the latest stock Ice Cream Sandwich). Our own NEAT thread is here, the download links for the latest versions can be found from page 16 onwards but the whole thread is worth reading to learn and digest :
http://androidforums.com/galaxy-s2-international-all-things-root/554062-neat-rom.html
I'm going to continue as if you've chosen NEAT, if not disregard the rest of this post and follow the instructions for your chosen ROM precisely.
I have made a "Flashing Zips" folder in my internal SD card, I find then I'm not confusing ordinary compressed .zip flies with flashing .zip files. Put the NEAT ROM .zip in this new folder. Also in this new folder add our own Hawker's Wipe and Nuke scripts .zip files after downloading, and make sure you read his post to understand what you need to do. Coming from Ginger Bread and going to Ice Cream sandwich I would do a total "Nuke".
Hawker's Nuke script .zip and instructions are here :
http://androidforums.com/galaxy-s2-...root/500131-my-gs2-rom-wipe-nuke-scripts.html
Now make sure your phone has a goodly amount of charge, at least 75%, a complete recharge is best.
Once all this is done your ready to flash. In CWM go to recovery mode select "install zip from sdcard" "chose zip from internal SD card" and navigate down to your "Flashing zips" folder select Hawker's "GS2ROMNuke" .zip and scroll to "Yes - Install" THERE IS NO GOING BACK AFTER THIS ! and flash it. Once done it will tell you you must immediately flash a ROM, and you'll still be in recovery mode of CWM, navigate to your NEAT ROM .zip and install that, the latest one also installs the latest Siyah kernel as well, you can change this later should you wish. (You can download mods and tweaks for NEAT as .zip files as well to flash - see the thread). Once done reboot your phone.
When you reboot your phone will take a good few minutes (up to ten) to get from the "pulsing S" after the start animation to the "Welcome" screen. This is because your phone is rebuilding it's Caches and the like, don't panic, it will reboot.
Now it's up to you how you proceed, but I would not log in and let Google restore everything. Go to play store re-download Titanium and restore all your apps. with it. This has the advantage of not requiring forever to download and saving your games progress etc.
Now (re)set up your phone and enjoy!