[Galaxy S III Android Development] Chainfire:
This thread is left here only for historical purposes ! Now that the device has been released, easier and better methods have been developed to gain root, like CF-Root.

.

.

.

.

.

Check your device model ! Settings -> About device -> Model number. This stuff is made for the GT-I9300, if your model number has a suffix, it may not work, or if it is a totally different model, it will not work (may even brick) !

Ladies and gentlemen, we have root on the SGS3 (!)

This will all be common knowledge in the near future, but here's some info I though various devs, chefs, and users will be dying to know!

Unfortunately, I am not able to share the "insecure" kernel with you at the moment, because of fears it is traceable to the leaker (this is said to be the last traceable firmware revision).

Update: The kernel is linked at the bottom of the post.

Update: The easiest way for rooting is now CF-Root

This root is, as expected, trivial. It was a simple matter of repacking the stock kernel, with a modified adbd binary that thinks ro.secure=0 (even if ro.secure=1). This gives access to all adb root commands (see screenshots). Then SuperSU was installed manually.

Kernel

The modification was trivial, because this time around, Samsung is using the standard boot.img format, instead of the zImage format used for SGS1, SGS2, SGNote, etc, that is much harder to repackage.

This is also why I don't feel particularly bad about not giving you the insecure kernel - any serious dev on this board can do the same thing in 10 minutes.

Recovery

The recovery partition is also being used this time around. And thus we can flash recoveries separately from the kernel.

Bootloaders

There was no warning triangle at boot-up after flashing the modified kernel, but download mode did show a custom kernel flash counter which increased. Whether or not flashing a custom recovery also triggers this counter is as of yet unknown. Both flashing kernel and/or flashing recovery will trigger the flash counter!

Final note

This was all tested on a current (release candidate) SGS3 firmware. There may be a newer firmware on true retail/production devices. Though some things may change, it is unlikely to change much. Let's hope nothing :)

Also, Triangle Away did not work. They have hidden the boot partitions again as on the latest SGNote firmwares.

(No, I don't have an SGS3 yet, everything was done remotely)

Now, everybody say thanks to Samsung! I don't always agree with them, but so far they have been the first and IMHO still are the only high-end Android OEM who aren't complete douchebags in the unlock department!

Download

The instructions below assume some basic knowledge about Samsung devices. This is not a noob-proof guide.

Here's the "insecure" kernel, based on XX NEE ALE8 firmware:

CF-Insecure-SGS3_XX_NEE_ALE8-v1.2.zip

- Extract the linked file (you will get a .tar file)

- Use the ODIN version attached below to that .tar file to your SGS3 as "PDA"

Going from insecure to full root

After having flashed the insecure kernel, boot your phone, and make sure USB debugging is enabled.

Your device is now insecure, so you can use the adb root commands. This does not allow your on-device apps to get superuser access, though. For that, you need to install SuperSU:

Download and extract the sgs3-root-install.zip file, containing SuperSU v0.89. Make sure adb is running correctly, then just double click install.bat (this will reboot your phone).