
Samsung Galaxy S II is the sequel to the critically-acclaimed Samsung Galaxy S Android smartphone. It comes with the newer Android 3.2 Ice Cream Sandwich, and an even larger screen at 4.3 inches of Super AMOLED Plus goodness. The Galaxy S II upgrades the camera to 8MP and adds an LED flash to it, together with 1080p video recording. A 1.2GHz dual-core chipset is running the show so as to deliver a fine performance without any hints of lag.
Rooting is the process of getting 'root access'. In a nutshell this means that you can edit the system partition of your phone. The best analogy of this I can think of is if you imagine a tree! The tree you see above the ground is what you can edit on your phone normally, for example you can add music files, edit text files, etc etc. The 'roots' of the tree are the android system files themselves, they are unseen and are not usually meant to be messed with. It can also be seen as the equivelant of having administrator privilages in windows - with them you have better access to your computer.
Rooting voids your warranty! But you can un-root your phone by flashing a 'stock' ROM and Kernel.Gaining root access however allows us to customise our phones even further, for example you can:
Rooting the Galaxy S II is, thankfully, easy! Unlike certain other phone manufacturers samsung haven't imposed any unnecessary locks on the phone, and so we dont have to hack our phones to bits to be able to root them.
Several guides already exist on the development forum on how to root you phone - it involves a custom kernel:
http://forum.xda-developers.com/show....php?t=1103399 (by Chainfire)
And an extremely detailed thread from wibbsy:
http://forum.xda-developers.com/show....php?t=1246131 (wibbsy)

Kernels are basically a bridge between your apps and your hardware. It controls everything that apps send to the processor, and everything the processor sends back.
This, as you can imagine, makes kernels VERY important. On XDA, you might see a kernel posted in the development forums. The are usually identified as [Kernel] in the thread title. You will probably also see more brackets in the title, these identify what modules the developer has added to the kernel, or what features it includes. For example [OC/UV 1.5GHZ]. This means that the kernel will enable the phone to be over-clocked to 1.5GHz, but also means the processor is undervolted (meaning it draws less power from the battery).
For more details look here:
http://forum.xda-developers.com/showthread.php?t=894880 (mroneeyedboh)
And here for more details on 'govenors':
http://forum.xda-developers.com/showthread.php?t=843406 (RJackson)
In my opinion my favourite kernel for the Samsung Galaxy S II has to be Speedmod. Fast, stable & reliable. The battery is also the best compared to other kernels. Siyahkernel is also a great kernel but I found battery life is not as good as it is on Speedmod. Every device is different try them both see which one works for you. Download the stable release as the RC and beta ones are in development. User Lt-ler has tested all speedmod kernels for battery life also against the stock kernels. You can find this here.
http://forum.xda-developers.com/show....php?t=1034130
Therefore, it is important to make a backup! Instead of just regurgitating guides on the forums already, here is a link to a very good one by Rawat:
The easiest way to back up your efs folder is to use a Free app called ktool that can be downloaded from the android market.
Setcpu
SetCPU for Root Users allows you to manage the CPU frequency settings on your Android device. It works with most commercial Android devices that have root access enabled for applications. Combined with custom profiles, SetCPU can help you manage your CPU settings to optimize performance and battery life. On many phones, oftentimes with the help of custom kernels, SetCPU can also manage over-clocking on your device. SetCPU is currently available on the Android Market and the SlideME Market.
SetCPU works on most devices running Android 1.5 to Android 2.2, with Android 1.6 and above recommended. If you have an HTC device, you may need to disable perflock (see 10) depending on your kernel.
When you root, flash a ROM or edit the kernel on the Samsung Galaxy S II you will see a yellow triangle on boot. See picture left. The reason this happens is so the mobile carriers or repair engineers can easily notice if the firmware has been tampered with. If your mobile needs to go in for repair you will want to remove this and reset your binary count *(ROM flashes) so you can still claim your warranty.
The first is using a USB Jig. (You can purchase these on Ebay for a few pounds.)
The second is without using a jig. Here we will look at both.
Please note that the latest Samsung Firmware releases KI onwards removed the ability to use the USB Jig to reset the clock count and remove the yellow triangle. There is a way around this by using the guide below.
Read more...