Looking for rooting help with my new GSIII, I found this very helpful thread from XDA Developers. User "Mrrobinson" has created several modified-stock images that give the user root access without really changing anything else. This was useful to me, since I really don't want to fool around with custom ROMs right now.
I did/do know something about embedded electronics, but nothing specific about the Android rooting process. So there were some points I was not clear on when I did my first root. They caused me much anxiety, but they did not have to.
[Update]: Some of these items are fixed in the original thread, some are new/not.
0. Flashing the wrong ROM to your phone is a great way to make it non-recoverable. Unfortunately, the thread does not make clear which images are which.
In the thread listed above, the root66 GLW image is for Wind Mobile. (GLW is Globalive, which is the parent company of Wind.) TMO is for T-Mobile (obviously) while the MCT image is for Mobilicity.
[For even more info, including the version numbers/changes/release dates, see the SamMobile Firmware page.]
0a. The MD5 hashes given in the thread are not the same as the ones calculated by some desktop utilities, such as Hashtab. This does not mean that you have gotten a bad download, it just means the posted MD5s were calculated differently. So if you can't verify the MD5 even after repeated downloads, you are almost certainly still safe.
1. The process in the thread is not quite fully described. Read this thread for a more detailed step-by-step of how to use ODIN to reprogram your GSIII.
2. Be sure to install the Samsung drivers as well as ODIN. They are separate. As far as I know, the Samsung drivers required by ODIN are different from the ones automatically installed when you plug the phone in to the PC, so install them just to be safe.
3. When you run ODIN and plug the phone in for the first time, expect to wait up to 30 seconds for the phone to appear in ODIN. Windows may be installing some drivers in the background without you noticing, Don't worry, just wait. It will show up eventually.
4. It is common for the update process to fail if you do not use the USB cable that came with the GSIII. Why this would be, I do not know, but it seems to be true.
The same holds true if you use a USB extension cable or hub. So don't plug the phone into your desktop USB hub without thinking. (I did.)
4a. Newer system images end in .md5, not .tar.
4b. Click the "PDA" button in Odin.
5. If you read the threads, people talk about 30 to 90 minute update times. This is crap. The update process should take about 5-7 minutes in total for a GSIII.
6. The ODIN progress update bar should be visibly moving throughout the upgrade. If it gets stuck for more than a few minutes, you have a problem. People talk about waiting 5, 10, or even 30 minutes for progress, but this is crap.
7. If the update hangs or fails, DON'T PANIC. The phone/ODIN system appears to be pretty smart, and it can recover.
If the flashing process hangs in the middle, the phone OS will not work because it was not fully re-loaded. But the phone bootloader still works fine.
The best thing to do is to simply close ODIN and re-start the process. The phone will automatically recognize the second update, and you do not necessarily need to pull cables or power off the phone.
My upgrade got stuck, which had me quite worried for a bit. In the end, all I did was close ODIN, plug the cable directly into my PC (bypassing the extension cable I had accidentally used), restart ODIN and restart the upgrade process. The phone display did not change one bit, but the phone automatically recognized the new flashing process and everything went without a hitch.
If it still fails, there are several things you can try, such as power-cycling the phone, removing the phone battery, using a different USB cable, using a different USB port, and even removing the SD card. All of these appear to be phone-specific, so search xda-deverlopers for more info on these.
If you do have to power off the phone, DON'T PANIC. The phone OS may be nuked, but the bootloader will probably work fine. You can almost certainly restart the phone into download mode again, and re-flash the OS just as before.
(If you think about it, this is exactly how it should be. Bootloaders, by definition, are never touched during upgrades.)
If you cannot get into download mode, search xda-developers again. Try searching for "return to stock" howto, or something similar. You can also look for phone-specific info on how you might recover the handset.
8. People talk a lot about having the phone fully charged before starting the process. This is obviously prudent, but I do not think it is essential.
The battery charging electronics should automatically start working as soon as you plug in the USB cable, even if the phone has no OS installed. Embedded charging electronics work independently of the OS.
So it seems to me it is unlikely that your handset could die while performing the update process. In fact, it should be more charged than when you started. So don't stress out about it.
It is quite possible that one would find all of this out by watching one of the rooting videos on YouTube. I did not, but in retrospect maybe I should have. If you are nervous about the process, I would recommend doing this, so you know what a "good" upgrade looks like.
[Update]: Push firmware upgrade from Samsung did not remove root! So far, so good.
[Update:] Oops, it did. Note to self: don't update unless a new rooted image is available. Just because SuperUser is installed doesn't mean you are rooted!! Word has it that OTA Rootkeeper will protect your root from this problem. You can also use Root Checker to see if you are still rooted or not.