NOTE!: I am NOT a developer, and i will only accept thanks for putting this information together, I did not create these instructions. Thank the individual developers/posters for their information!
WARNING!!: These procedures are not only dangerous if you don't follow them to the point, but also void the warranty on your phone!! Following these steps incorrectly can brick or otherwise damage your phone!! XDA-DEVELOPERS as well as MYSELF accept NO RESPONSIBILITY to what happens to your phone!!
Just in case you didn't get the message.. WE AREN'T RESPONSIBLE. HACK AT YOUR OWN RISK!!
I will do my best to help anyone along their way, but you've been warned. We aren't here to take the blame for a mistake, we're here to help you do what you're seeking to do.
Got it? Let's proceed, shall we?
First off? The Rooting!
ROOTING: Allowing the phone and it's softwares to have access to the "Root", or complete control, of the phone itself.
This procedure includes two major steps. Temporary Root and Permanent Root. The rooting process for the Temp Root will revoke itself after a reboot. The Perm Root method will not. The rooting process is not complete until the Perm Root process has been finished and the Root is still active after a reboot!
Temp Root the G2:
1. On your phone, go to Settings > Applications > Development > and make sure USB Debugging is ON (it MUST be ON) and make sure Fastboot is checked OFF (it MUST be OFF).
2. Visionary was removed from the Market, please download it from Here instead. Save it to your phone's memory card, then simply open it on your phone with any file manager app. (like Linda File Manager for free from the Market, for example) Find the visionary .apk file in the file manager and click it and follow the prompts to install it.
3. Install Visionary from Modaco.
4. Once installed, open Visionary and check ON Temp Root After Reboot, and check ON System R/W After Root. Then click TempRoot Now, and wait for it to finish. DO NOT CLICK ATTEMPT PERMROOT NOW! We'll get to that momentarily.
5. Once it is done, you have temp root and can use rooted apps without rebooting, OR continue to the next procedure to gain persistent root access.
Perm Root & S-OFF the G2:
An explanation of what S-OFF is and why you might want it - S Off means security off for your HBoot mode (aka Bootloader). The bootloader is what allows you to flash updates and write to the file system of your phone. By turning the Security OFF, we can flash any updates/ROMs we want without the phone checking to see if it is an official update or not.
1. Download the rooting files: Right here.
2. Extract the files somewhere to your computer.
3. Plug your phone in via USB cable and mount the SD card so we can transfer files to it.
4. Copy the .ko and .img files from inside the extracted folder from step 2 to the root of your sd card on your phone (NOT in any folders, just on the SD card itself).
5. Unplug the phone.
6. Go to the Market on your phone and download/install Android Terminal Emulator (free).
7. Open the Terminal Emulator app and type the following with hitting enter at the end of each line (to get the touch screen keyboard to come up hit the menu button then toggle soft keyboard):
su cd /sdcard insmod /sdcard/wpthis.ko *After typing the last line, you should see an error saying failed: (function not implemented). If you DO see that, you have done it correctly and can continue.
dd if=/sdcard/hboot-eng.img of=/dev/block/mmcblk0p18 [the last part is mmcblk(zero)p(one)(eight)]
11. Now, to get permanent root, turn the phone back on to get to the normal home screen.
12. Open Visionary and Uncheck TempRoot on Boot and click Temproot Now.
13. Then select Attempt Perm Root Now and the phone should reboot.
14. Once the phone reboots, open Terminal Emulator on the phone and type su and hit enter. If you get the # symbol, you have permanent root access and S-OFF!
Next? The ROM Flashing!
Alright, guys. If you've made it this far, You're golden. Grade A directions taker, In my opinion. Let's get to the last step, yeah?
1. Once you have done the above to procedures, open the Market on your phone and search for ROM Manager (Free).
2. Install it.
3. Open the ROM Manager app and click Menu, then Settings and turn ON Delete Recovery.
4. Click Back and then select Flash Recovery.
5. Choose your phone model and then let it flash the recovery.
6. Click Reboot Recovery and you should be put into the custom recovery image screen. If so, you are all set.
Now, to Flash a Custom ROM:
1. Head over to theunlockr.com's ROM page here and choose your preferred ROM. Download it and save it to your computer.
2. Once it is saved, plug in your phone via USB cable and mount the SD card so we can save files to the sd card.
3. Copy the ROM's .zip file over to the root of the sd card (NOT in any folders on the sd card, just on the root of the card) (do NOT extract it, leave it as a .zip).
4. In the custom recovery screen, Backup/Restore and backup your current ROM.
5. Then select Wipe Data.
6. Then select Apply .zip from sd card and choose the ROM you downloaded earlier.
7. Once it is done flashing, click reboot system. Once it reboots, you are all set!
Congrats! You've flashed a new ROM to your G2! Hopefully..
There are some known issues out there, that prevent mostly the Rooting process. I'll touch on one of them real quickly.
The main issue I experienced was that I accepted and flashed the update that T-Mobile released to prevent Rooting. I've found an article on how to downgrade your firmware to pre-OTA, so that you can Root. Try this if you have severe issues trying to complete the Rooting process. Thanks to Apache14 for this info!
There's now also a process to UNROOT your phone! Here's the link. Thanks to David Cogen from theunlockr for all this information!!
Thanks for reading, XDA friendlies, and Happy Rooting!!