Here is my One Click Root and UnRoot solution for ALL SAMSUNG Devices.
It has a very nice interface and offers options to reboot your device Normally, Into Download Mode or Into Recovery Mode after Rooting.
Note: Make sure you Enable USB Debugging and Flash an Insecure Kernel before using Samsung Quick Root.
Whats New in v1.8.3:
1. Improved: Error checking is much better with improved detection of null string entries.
2. Improved: Changed the code in the Wait For Device Dialog and improved error detection.
3. Fixed: A few bugs in the Function that writes output to the Log Window.
4. Improved: Made a few minor changes to the ADB Communication Framework.
5. Fixed: Kernel Info no longer relies on Busybox to gather the version information.
Whats New in v1.7.10:
1. Improved: Fixed a few bugs and added some new functions to the ADB Communication Framework.
2. Added: Wait For Device Dialog on application startup.
3. Changed: Added formatting to the Device Info display to make the information easier to read.
4. Fixed: A bug in the Device Info function that caused missing information or failure to display correctly in certain scenarios.
5. Optimized: Made a few changes to the code that handles removal of the 'su' and 'busybox' binaries so it runs a bit quicker.
6. Other minor bugfixes and UI improvements have also been made.
Whats New in v1.6.12:
1. Changed: Rebuilt using my ADB Communication Framework which eliminates lockups, is more reliable, stable and much quicker.
2. Added: Automatic detection of the '/system' Mount Point to potentially support other devices in the future.
3. Removed: Kernel Info button as this function was implemented elsewhere.
4. Added: Device Info button containing a more detailed view of Device, ROM and BusyBox information.
5. Optimized: Removal of su binary during 'UnRoot' is more efficient and will search and remove from: '/sbin', '/system/bin' and '/system/xbin'.
6. Optimized: Code for removing BusyBox and its symlinks during 'UnRoot' is now alot more efficient and will search and remove from: '/sbin', '/system/bin' and '/system/xbin'.
7. Changed: Replaced Superuser with SuperSU
8. Updated SuperSU and its binary to v0.93 and BusyBox binary to v1.20.2.
9. Other minor bugfixes and improvements have also been made.
Whats New in v1.5.1:
1. Changed: Tidied up User Interface and added additional reboot options which can be executed independantly of rooting.
2. Fixed: A bug in the UnRoot code that did not perform the UnRoot process after clicking Yes on the Temp Root Message Dialog.
3. Optimized: Code for removing BusyBox symlinks after removing BusyBox is now alot more efficient.
4. Added: S2 Root will now remove BusyBox and its symlinks from the '/sbin' aswell as '/system/xbin' folder if present allowing for clean up from other root methods.
5. Updated Superuser APK to v3.0.5
Whats New in v1.4.3:
1. Added: Device Manufacturer, Model and ROM Build information displayed in log when S2 Root starts.
2. Changed: Log font is now bigger and clearer.
3. Changed: Restrictions have been relaxed regarding device detection. S2 Root will now work with ALL SAMSUNG Android devices.
4. Added: A prompt on UnRooting. If TEMP ROOT is detected you now have the option to continue anyway allowing for people who Rooted with CF-ROOT as its based on an Insecure Kernel.
Whats New in v1.4.2:
1. Fixed: A bug for some locales which caused S2 Root to report No Temp Root Access even though an Insecure Kernel had been flashed.
Whats New in v1.4.1:
1. Fixed: A couple of bugs when UnRooting which caused Rooting the device again to fail.
2. Optimized: When UnRooting, BusyBox Symlinks are also removed leaving the xbin folder clean of all BusyBox traces.
3. Updated: Package now includes the latest Superuser v3.0, su binary v3.0 and BusyBox 1.19.2.
Whats New in v1.4:
1. Fixed: A couple of bugs in the Device detection routine.
2. Added: 'Tools' options to: Clear Dalvik Cache, Clear Battery Stats, Get Kernel Info from the device and Reboot the device.
3. Updated the guide in this first forum post.
Whats New in v1.3.2:
1. Fixed: A bug where Rooting would not work first time. This has now been fully tested and works first time every time!
Whats New in v1.3.1:
1. Fixed: A bug where Rooting would not work first time. Before you had to click 'Root Device' a second time for Superuser apk to install.
2. Fixed: A few bugs in the source code have been rectified.
3. Updated: 'su' Binary and 'Superuser' APK to latest versions.
Whats New in v1.2:
1. Fixed: S2 Root should now detect ALL Galaxy S II (GT-I9100) country variant devices correctly.
Whats New in v1.1:
1. Added: 'Jump To Download Mode' Button for those that cant use the 3 Button Combo or dont have a Jig to put the device into Download Mode.
2. Added: 'Don't Reboot Device When Finished' option for those that want to carry on tinkering after Rooting / UnRooting.
I am new to this! So how do I Root my device?
Note: Make sure you download and install Samsung Kies before performing any of the steps below to ensure everything goes smoothly!
Download Odin3 v3.04 from HERE
Download Insecure/Original Kernels from HERE or Latest ICS Insecure/Original Kernels from HERE
Goto Settings > Developer options and Enable USB Debugging on your device.
Reboot your device into Download Mode. (With Device OFF, Hold Vol Down + Home + Power) If done correctly your device should have a big Yellow Triangle in the middle of the screen with the words 'Downloading... Do not turn off target' underneath. (Or Select 'Download Mode' then press 'Execute' in Samsung Quick Root).
Connect your device to your PC and start Odin. If you installed Samsung Kies correctly, you should see the box in the top left corner of Odin underneath where it says ID:COM should be Yellow and displaying the name of a Com Port your device is connected to.
Check Odin's settings, Only the Auto Reboot and F. Reset Time checkboxes should be selected.
Now press the PDA button and select the Insecure Kernel you downloaded earlier. (Note: This should be in *.tar, *.md5 or *.smd format.)
Now press the Start button and wait for your device to reboot.
If you have done everything correctly, you will notice a Yellow Triangle with an exclamation mark on the boot screen when the device is starting up. This indicates you are running an Insecure Kernel with Temp Root priviledges.
When the device has finished booting, start Samsung Quick Root then press the Root Device button. Wait for the device to reboot depending on which Reboot option you selected then you are done Rooting.
This is an OPTIONAL step but you can perform Steps 4 to 8 in this guide to flash the Original Kernel back to your device to remove the Yellow Triangle on the boot screen whilst still retaining Root Permissions.