An XDA developer who goes by the name of Chainfire has successfully rooted Samsung Galaxy S II on Android 2.3.3 firmware. You can now gain full system access by flashing your Galaxy S II using Odin, Samsung’s flashing utility, and put in a custom kernel. You’ll then be able to get Superuser access (after a reboot) with the help of adb program from Android SDK. Simply follow the step-by-step tutorial given below to root your Galaxy S II on Android Gingerbread firmware.
Update your Samsung Galaxy S II to Android 2.3.3 if you haven’t already. You can download the firmware from here.
Now you need to download the ODIN file form here and extract the .zip archive.
Also download the XWKDD file from here, but DO NOT extract the .tar file.
Finally download and extract SuperOneClick from here.
You need to have Samsung’s KIES 2.0 installed. If you don’t have it, download and install it before you proceed.
(You need it to install the correct USB drivers, so the programs can communicate with the device. Reboot your computer after installation of KIES.)
Now put your device in USB debugging mode:
Settings -> Applications -> Development -> USB debugging
Reboot your device into download mode:
Turn the device off, then power it on again by pressing and holding VolumeDown + Home + Power simultaneously.
Start ODIN and connect the device to your computer using USB.
Now wait a few seconds, the ODIN screen should show you that a device is now connected
Make sure that in ODIN, everything is unchecked, except the “Auto reboot” and “F. Reset Time” checkboxes. Press the “PDA” button, and select the “XWKDD_insecure.tar” file.
Now press “Start”. ODIN should now be flashing the kernel, and the device should reboot.
Once rebooted and while still being connected over USB, start SuperOneClick, and press ROOT.
Reboot the device. Enjoy !
If you own a Nexus S instead, check out our following guide: