View Single Post
Old November 18th, 2010, 11:47 AM   #1 (permalink)
SUroot
ROM Developer
Thread Author (OP)
 
SUroot's Avatar
 
Join Date: May 2010
Location: Riddlesden, West Yorkshire, UK
Posts: 23,926
 
Device(s): SGS3 (Current) HTC Desire (Retired)
Carrier: 3 UK

Thanks: 1,923
Thanked 5,324 Times in 3,995 Posts
Default [FAQ]ROOTING (Updated 7th April 2012)

WARNING: Rooting (and related processes) can be dangerous if you do not understand the concepts, risks and procedures involved.

Although we are often at hand to help, you will receive much better help if you have read the FAQ's and guides several times before undertaking the task of rooting. Not only will you understand the possible causes and fixes for issues you encounter, it will also help you to give US the information we need to help YOU!

Contents

What is rooting?
Rooting is the process of gaining root access to Android. Android is based on the Linux operating system. Root access is superuser permissions (SU), much like an Administrator in Windows.

Back to Top

OK Great, but what does it get me?
Well, it gives you more control over your phone essentially. You can run full backup of your entire phone, control how the CPU is used by Android, save internal memory to name but a few.
See this list by Usta, made for your convenience:

  • Fix the low internal storage problem
  • Remove carrier/manufacturer bloatware
  • To get the latest OS updates
  • Ability to make a true backup of your phone as a complete image (nandorid backup).
  • Ability to use some great applications that are only available for rooted phones. A good example is Titanium Backup.
  • The fun to try new ROMs that can completely change the look and feel of your phone. For example, ASOP ROMs make my Desire look like a Google Nexus phone, while MIUI ROMs make it look like an iphone.
  • Added features and functionality - some ROMs can enable HDMI output, enable ad-hoc WiFi connectivity, enable 720p video recording, enable WiFi tethering, be very battery efficient with adjusted kernels, ability to overclock/underclock your phone, etc.

Back to Top

Anything else?
If you use the unrEVOked or revolutionary methods, they also flash (installs onto flash memory) a custom recovery (Clockworkmod recovery).

Back to Top

What is recovery?
When you turn on your phone, the phone's bootloader loads 1 of 2 things. Android or recovery. When you flash a custom recovery using unrEVOked, revolutionary or fastboot commands the HTC recovery is replaced.

The 2 main recoveries that we used to recommend here are clockwork mod 2.5.0.7 and AmonRA 2.0.1. Now though, 4ext is our favoured recovery

Note* there are other versions of both amonra and cwm but we strongly discourage any other version than the above.

Back to Top

Whats it for?
Booting into the custom recovery gives you the ability to flash custom roms, take backups, clear data etc. UnrEVOked flashes this AND roots your existing Android OS. You do not have to use a custom ROM to be rooted using this method.

Back to Top

How do I get to recovery?
From off, Hold Volume down and press Power. This boots you to the Bootloader. There is a recovery option here. You need to use volume up and down to navigate the menu, then power to select the recovery option. This then loads your custom recovery. Now you can use the track ball to navigate the recovery menu

Back to Top

Is rooting easy?
It can be, Using the unrEVOked tool makes it straight forward. My compiled guide for using this is here:

[GUIDE]Rooting HTC Android 2.2.1 or lower with UnrEVOked - Windows

UnrEVOked only works for 2.2.1 or lower however. Any 2.2.2 or 2.3.3 GSM ROM must use revolutionary. Also, any hboot 1.02 or higher needs to use revolutionary too. Please see Mattb81's Guide:

[GUIDE]S-OFF and Root HTC Android 2.3 with revolutionary - Windows

Revolutionary is a joint project between Alpharev (responsible for S-off on 2.2 devices) and unrEVOked.

Revolutionary doesn't actually root the phone in itself. It S-off's the device, which then allows you to fastboot flash a custom recovery - see the adb and fastboot FAQ here (Skip the adb section).

Once you have flashed a recovery, you can either:

1) Flash a zip to root your current ROM (if you do not plan on flashign a custom one) or
2) Jump straight to flashing a custom ROM (As root is not needed to flash a ROM, only custom recovery)

Back to Top

How will I know if it has worked?
UnrEVOked creates an application called "superuser" within your App Drawer. This is the application that manages requests from applications for Root/SU/Superuser privileges.

If using Revolutionary, your Hboot version will now start with a 6.x

Back to Top

Tried using unrevoked, but it failed "is your software version too new?"
There are 2 reasons for this.

1) Your firmware IS too new. Check your version. The ARA 2.32.415.x is now rootable. Ensure you are using the 3.32 version of Unrevoked if you are on an ARA build - 3.32

For other versions, 3.21 is best - 3.21

2) If you forced all apps to SD card, this is impairing the installation of the superuser app. Go back through the guide and substitute "pm setInstallLocation 2" foir "pm setInstallLocation 0" and try it again

Back to Top

Other UnrEVOked errors...
There are other errors involving "failed to unlock NAND" or containing "MISC" or "backup CID". Although there are lengthy ways to overcome these which often will not work, it may just be as well to downgrade using teppic74's downgrade tool (GSM ONLY), to 2.1 and try with an older unrEVOked version.

[HOWTO] Downgrade Froyo (2.2) to Stock 2.1 (ANY HBOOT | WIN/LINUX/MAC | ROOT) - xda-developers

Another error received is "Internal error: installing package failed." This can sometimes be down to there not being enough space on the device in "internal storage". You can delete some apps or even wipe as a possible work around.

It is also worth noting that hboot 1.02 and over are not supported by Unrevoked. You may get "Waiting for root" errors with unrevoked.

Back to Top

Is rooting risky?
Flashing anything is never without risk, however providing you don't disconnect cables or power down devices whilst the process is taking place, it is fairly safe. Flashing Radio's however, is not.

Back to Top

What's not safe about flashing radios / what are Radios?
Radio is the software required to run the physical radio which sends / receives voice and data from your phone. Its like the driver for the part of the phone that makes it a phone.

Flashing Radio's is risky because it can result in permanent brick (dead and unrepairable phone).

CDMA phones do not have flashable radios. If you see a radio released, its for GSM and flashing it can perm-brick your phone


Back to Top

Do I need to flash a radio though?
Not really, You already have one. The radio is in a different part of the memory of the phone, so flashing a ROM will not over write your radio, unless the ROM includes a radio which is quite rare.

This said, certain functionality of a ROM may not work if the recommended radio is not present. I would suggest reading up on the ROM you are thinking of installing and checking your radio version from the About Phone menu. For example, 2.2's camera won't function with a pre 2.2 radio

Back to Top

What about HBOOT?
HBoot is the Bootloader

Some older guides refer to specific Hboot versions. Where as the HBoot version itself does not matter using unrevoked, before rooting -check if the Hboot states "
BRAVO PVT4 SHIP S-ON", where PVT4 is the bit we are concerned about.

If you do have PVT4, you then need to check if your erase size is 40,000.

To check erase size, you can simply download "terminal Emulator" from the market and type:

Code:
cat /proc/mtd
(And press enter) - This should work on non-rooted devices

If it is NOT 40,000 - ignore the rest of this section.

If it IS 40,000 you need to use the latest Amon-RA recovery image (rather than the standard supplied) with unrevoked when rooting. Use Unrevoked 3.21 if you can.

You can get it here:
[Recovery] [14-Nov-2010] RA-desire-v2.0.0 [GSM] - xda-developers However, 2.0.1 is deemed to be better (Thanks @Rastaman-FB). This is a test image, available HERE

When using unrEVOked, whilst it is on the "Waiting for device" screen, go to FILE > Custom recovery - Choose the Amon-RA image you downloaded.

If you want Clockworkmod recovery, once rooted and flashed Amon RA, if you run the latest Alpharev S-OFF, you can flash a modified clockworkmod recovery using that

AlphaRev 1.8 (Sometimes S-OFF has been known to fail on some (AOSP) roms. If this happens, take a backup and flash a rooted stock sense rom.)

***Caution, I have had a report that one member was struggling to partition his SD card using Gparted whilst this modified CWM recovery was installed. Reflashing the Amon-RA resolved this.

If you have already rooted with unrevoked and have no desire to S-Off, re-run unrevoked and select amon RA as recovery. Make sure once booted into android though, you clear data on the superuser app - Settings>applications>manage Applications

If you are on Android 2.3.3 RUU or hboot 1.02 or over, You HAVE to S-off to do what you previously could do before simply by rooting with unrEVOked.

More information about Hboots in I need to send my phone back, should I return it to Stock with an RUU?section.

Back to Top

I have an SLCD, should I be worried?
When the SLCD was new, things like RUUs, recoveries and ROMs didn't support it. This would cause the screen to not work. This should be rare now its been around a while. Just be careful not to flash anything old. Start current and don't go backwards.

Back to Top

What about Gold Cards? Do I need one?

The below statement is not necessarily true anymore. The Android 2.3.3 RUU from htcdev.com debrands (works on branded handsets without goldcards) and is still aceppted for warranty by HTC. However, this RUU doesn't work on all branded phones (theres a list somewhere of which work). In the case that your phone is not supported, see the below answer:

For rooting itself, no. However, if your phone is branded, you should definitely make one.

Here is the Goldcard Tool

To use:

  1. Format your SD card to FAT32 by going Settings > SD Card & Phone Storage > Unmount SD Card then Format SD Card
  2. Launch the goldcard tool as admin by Right click on App > Run as Admin
  3. Connect your phone to your PC and make sure USB debugging is enabled (Settings > Applications > Development > USB Debugging)
  4. Click get CID (Try clicking MMC0 if MMC1 fails)
  5. Click the link to open the goldcard generator, copy the CID from the tool into it. You will get an email.*****
  6. Enable USB Mass Storage on your phone.
  7. Click 'Refresh' in the app and select your micro SD card.
  8. Click 'Load goldcard.img' and select the file you received by email.
  9. Click 'Patch MMC'
  10. You now have a goldcard!
****
If the site in the goldcard tool is not available, use this: http://psas.revskills.de/?q=goldcard

Credit to the author of this article

Back to Top

Why should I make a Goldcard?
Branded phones need a gold card to de-brand. The goldcard Hides the true identity (branding) of the phone, allowing non-branded official roms to be installed.

From time to time, flashing a ROM goes wrong. You can't get into recovery, you have no option but to download an official RUU (Rom upgrade utility) and restore it to stock. Some branded RUU's simply do not exist, so you need a gold card to install a generic one.

Please note by many it was believed the goldcard must be made on your working phone and would only work on that phone. We now know this to be inaccurate. The goldcard tool uses the CID from the SD card (not phone) so the goldcard should be universal across android devices. The Image the goldcard creates however, can only be used on the card it was created for.

Back to Top

I can't boot into recovery, there is no RUU for my carrier and I don't have a gold card

If your phone works with the 2.3.3 releas eon htcdev.com, it doesn't matter. Just use that, otherwise:

Crying and pleading to your gods may well be your only chance now. Actually as the gold card does not need the phones cid to create, just the sd, you can make using a card reader. This does ruleout using goldcard helper from the market though, incase goldcard tool can't get the cid

Back to Top

Where do I check for RUU's?
Shipped ROMs

Back to Top

I need to send my phone back, should I return it to Stock with an RUU?
Yes. An RUU will take it completely to stock, as if it were brand new. No root, no custom recovery, no data.

***Be aware, if you are S-off with an R2 hboot (example: CM7 r2), this has Write protection on it. This means that an RUU will NOT overwrite it. The hboot will remain and may effectively void warranty. It ia also worth noting that if you don't want to overwrite the hboot (remainign s-off) you must ensure that the /system size of the hboot will fit the RUU in it. CM7 is 145MB, which is much smaller than the stock 250 MB, so a sense RUU's system will NOT fit.

You need to fastboot flash the downgrade.img

If you RUU whilst on such a hboot that is too small, you will get an error stating that system [fail]. If you boot into recovery, hboot or fast boot, you will see a screen with 4x ! (1x! in each corner).

Fear not, Fastboot still works. Boto into fastboot and you will see this screen, connect usb and fastboot flash the downgrade.img then run the RUU again

Back to Top

How do I know which RUU is right for me?
Each RUU in its file name has the software build version in the format of x.xx.xxx.x (eg 2.29.405.5). All android 2.1 eclair versions start with a 1. All Froyo start with a 2.

You can get your phone's current version from settings>about phone as long as you have not flashed a custom rom. You should make a note of this before rooting.

Back to Top

Does rooting void my warranty?
Tough one, there is some debate on that. If you return it to a generic Stock if it was originally branded, provided it is official, you may be able to get away with it. HTC will know if it is the right ROM or not, but they may still fix it.

~ Has anyone any first hand experience on this? ~

Back to Top

Whats the best Custom ROM to flash?
That is too subjective a question to ask. Narrow down what you want. Do you want something familiar but with more options? If so get a Sense ROM. Do you want something as far from familiar as possible? Get a Vanilla AOSP ROM. Narrow down that Choice, then we'll talk some more.

Back to Top

Whats types of custom ROM are there?
There are 3 main categories of custom ROM:
Sense - ROMs based on HTC sense roms. These ROMS give you a stock feel. Based on official or leaked HTC sources, these are guaranteed to work well. You can also get sense roms ported from other devices such as the Desire S or test builds featuring sense 3.0

AOSP - These ROMS are built from google's open source project. These ROMS are build by the development community from 100% google code. They are vanilla (pure android - no Manufacturer user interface (such as sense). These ROMS are often very fast and with the correct choice of ROM and Kernel, very stable.

Miui - Miui originated as a Chinese Development project, but many deelopers around the world have picked up this innovative rom (based on AOSP, but with an innovative User interface) and modified it. There are now many different versions of Miui ROMs available

See: "How do I flash a custom ROM?" for ROM links

Back to Top

ROM Manager looks good, should I use that?
As easy as it looks to use ROM manager, it has caused many issues for people either flashing, backing up or restoring. We recommend you don't use it. It takes away a need for knowledge of the process and makes you dependant on your SD card, which if it breaks, we will have to spend a long time helping you fix. Please learn to do the process manually.

Back to Top

How do I flash a custom ROM?
First, find a rom that you want from here:
XDA Developers - Desire Index

It lists all the good roms. Be aware that you already need to be rooted. If you want to use apps2sd+, you will also need to have partitioned your card first. See the apps2sd+ FAQ in my signature.

Be aware that you may need to wipe. However, for stock / HTC sense based roms for the desire (not including ports such aas the desire HD ports), you MAY get away without doing a data wipe. AOSP (vanilla) roms will definitely need a wipe

Its always best to take a nandroid backup of your existing rom. See the Nandroid section further on in this FAQ.

Also you should backup your apps and data. Titanium Backup is a great app for this. However, I also use mybackup pro for sms and call logs, but there are alternatives out there.

If you have to wipe, this is due to an incompatibility with system settings from your old rom. See the wiping section, also further on in this FAQ.

So (based on clockworkmod recovery):

1) download you chosen ROM onto SD card
2) Do all your backups
3) Boot into recovery manually (see recovery section earlier)
4) Choose "wipe data / factory reset"
5) Choose "Install zip from SD card"
6) Once complete, choose "reboot system now"

It can take 10 minutes to boot up first time, so give it this long before taking further action. If it still has not booted, pull out the battery, but ONLY when the boot animation is on. NEVER during a flashing process.

If you can obviously see the boot animation looping, this may be due to the lack of wipe. Pull the battery and boot into recovery and perform the wipe.

Once booted, if you wiped, set up the phone with network and market access and download Titanium again and whatever data restore app you used for sms (if desired).

If you wiped, be careful which option you choose to restore. You dont want to restore system settings, so "restore missing apps with data" is a good one to choose.

Now, enjoy setting up and playing with your phone.

Back to Top

Do I NEED S-Off?
Well, it depends what you want to do, but for most things you do not need it.

The HTC Desire has a security flag contained within the radio's NVRAM. S-Off flashes a custom HBoot which ignores this security flag.

Note CDMA desires are s-off by default if rooting via unrevoked, providing unrevoked supports the radio version of the desire

Some custom ROMS suggest you flash a particular partition table via S-Off (HBoot with new partition layout) which will change the size of your /system, /cache and /data partition - giving more space for "internal storage".

Other advantages are being able to replace the splash screen and deleting apps whilst Android is running. For the latter, there are other, easier methods.

AlphaRev 1.8 (Sometimes S-OFF has been known to fail on some (AOSP) roms. If this happens, take a backup and flash a rooted stock sense rom.)

Back to Top

Rooted and/or custom ROM installed. Now what?
Get Set CPU. You can create profiles to change how your CPU acts. You can save battery this way.

Get AutoKiller. This is NOT a task killer. It clears EMPTY apps from memory. These are not apps that are running in the background or doing anything. Android does itself kill these, but this application allows you to change the thresholds of memory to do this.

Get Autostarts. Each android app listens to certain events that occur on your phone. Some apps listen to events that they do not require. This app allows you to prevent some apps listening to some events. For example, I don't want photo bucket to listen for an event based on my location. I don't need it to know where I am. TuneWiki does not need to know if I have installed an application.

Have you got enough space on internal memory? If not, you could flash a ROM with A2SD+ Support. FAQ here - http://androidforums.com/desire-all-things-root/220627-faq-apps2sd.html


Back to Top

What else can I do?
Well with custom ROMS, you may have the choice of installing a custom Kernel, which will run the CPU at the same speed as standard (998Mhz) but using less voltage (saving battery). This is called Undervolting.

At the same time, if you have SetCPU, you can overclock a kernel (if it permits) to run at a faster speed than normal, but at the same voltage as 998Mhz. You can compromise between the two.

Back to Top

What is a Kernel?
It's the heart of the operating system (hence the name, like the kernel of a nut, the most important part of anything). It provides the environment for the phone's software to work, including access to the hardware. [Teppic74]

Back to Top

What is Nandro]id Backup?
Nandroid backup is a backup that takes an entire snapshot of your phone as it is. This can be done from clockworkmod recovery, under the backup menu. It is not referred to as Nandroid in clockworkmod.

It can be restored at any time, over any ROM and will restore your phone to be EXACTLY as it was when the backup was taken. Always take this backup before flashing a ROM.

**Note, there is a known issue whereby you can sometimes get into a bootloop after your first Nandroid backup if you rooted using unrEVOked 3.21 (or later) due to corruption of the NAND. Booting back into recovery and restoring the backup you have just taken should resolve this

Back to Top

What other back up options have I got?
Titanium Backup is good. It backs up your applications, their data and settings plus system settings. Unlike Nandroid, it does not back up the ROM.

Settings between ROMS can differ, so if you over write new ROM settings with older settings backed up with titanium, some functionality can be lost. If you factory reset and it fixes it, try to restore as little as possible with titanium. Factory reset is the same as a wipe. titanium backs up what is wiped.

As we are not wanting to restore data for system apps, it is best to make provision for your contacts, sms, call logs if required.

If you have google contacts, nothing is needed. I personally use sms backup+ which backsup to my gmail account. I can restore or leave. Also I can browse the SMS via gmail. Great.

Back to Top

So what is all this about wiping? Do I need to?
Maybe. If you go from one stock ROM to a custom ROM, or one Custom ROM to another, the settings may not be compatible. You can wipe from ClockworkMod Recovery. - Wipe data/factory reset.

If the ROM is stuck in a boot loop for more that 10 minutes, you may have to back to recovery and do a wipe of the Data partition

Back to Top

Tell me more about Bricking?
A bricked phone is a dead phone. You can not recover it. It is very rare a true brick has happened. If you flash a dodgy ROM (by that I mean if you have a corrupt download or make a mistake), you can 98% of teh time recover it. Maybe with a Nandroid restore, an RUU or something.

During your rooting and flashing career, you will experience plenty of things you think are a brick. They are not. You just need to calm down, research, ask questions and get help.

Flashing corrupt or incorrect radio files is the most common form of permanent / true brick. As I said before, take care.

Back to Top

Can I still receive OTA updates?
No. Most custom ROMS block out this feature, but if you have rooted your existing rom, you may still get the option to install OTA. PLEASE DO NOT!!! You need to disable the setting that checks for updates. OTA updates often cannot be installed, but sometimes they appear to work. However this can lead to huge issues in the future so I beg you, please do not try to install one.

Back to Top

*thanks to everyone for your input in this, past or future.
SUroot is offline  
Last edited by SUroot; June 1st, 2012 at 09:23 AM.
Reply With Quote
The Following 116 Users Say Thank You to SUroot For This Useful Post:
aabangia (June 6th, 2011), Abdur (August 2nd, 2011), AceMathias (July 15th, 2011), AdrnlnJnky (June 30th, 2011), agd19682 (March 3rd, 2012), AgentK (February 17th, 2011), Aggi (June 11th, 2011), ahidalg (March 24th, 2011), alinv (January 3rd, 2011), alshop (January 3rd, 2011), Andrstein (January 8th, 2012), aneXia (July 21st, 2011), atmasters (December 23rd, 2010), Audio Injected Soul (May 28th, 2011), BigWill (August 3rd, 2011), big_smurf (October 27th, 2011), bob5247 (December 7th, 2011), cairns84 (March 21st, 2011), Casual Pete (February 17th, 2011), ceider (September 2nd, 2011), ChadKaplowski (October 17th, 2011), cheenscreeter (November 19th, 2010), consuela (April 2nd, 2011), D3LeT3 (July 8th, 2011), danneler (November 20th, 2010), dannylill1981 (May 13th, 2011), Dark_Rider (March 14th, 2013), david_inuk (May 3rd, 2011), DDjnr (July 15th, 2011), deeplyconfused (December 1st, 2010), dekoder (April 23rd, 2011), deramansa (November 11th, 2013), dhendy91 (October 9th, 2011), Dolph (November 25th, 2010), El Presidente (February 21st, 2012), Elumonq (May 26th, 2012), erehwon13 (October 7th, 2011), Eris Ed (November 18th, 2010), fairus_wa (October 22nd, 2011), falkroy71 (June 1st, 2011), Fishyweb (February 28th, 2011), flyte (March 28th, 2011), FourQ (May 10th, 2012), geemacd (July 1st, 2011), GingaB (July 26th, 2011), girolez (April 10th, 2012), Harlem Ranger (February 21st, 2011), hasnain721 (August 10th, 2011), hcms (July 22nd, 2012), HeavyTrain (August 23rd, 2011), heberrc (December 6th, 2011), InfernalByte (November 19th, 2010), irina1312 (April 14th, 2011), Irios (November 21st, 2010), Jammy (January 20th, 2011), jdash (May 29th, 2012), jonesyg (December 11th, 2011), jorsa76 (October 13th, 2011), joyeful (December 21st, 2011), kewlbuddy (January 26th, 2011), lekky (December 4th, 2010), Liamalone (February 17th, 2011), lorrebreaker (November 18th, 2010), lspec (January 22nd, 2011), machan (January 5th, 2012), matttye (June 13th, 2011), maverick9211 (February 27th, 2011), mirzayasir4 (January 30th, 2012), Mulan (November 6th, 2011), mytwok (December 14th, 2010), nicka3200 (January 7th, 2012), nikle (February 2nd, 2011), No_u (February 17th, 2011), Papex (November 18th, 2010), Paul8944 (August 14th, 2011), pauliep (December 2nd, 2010), Pojken (February 6th, 2011), qiang (September 6th, 2011), Rafalema (August 10th, 2011), rajbal (September 15th, 2011), Rastaman-FB (May 11th, 2011), raydude (October 8th, 2011), rbeachy (July 11th, 2011), redmonkey (February 15th, 2011), rgs (December 23rd, 2010), rossw (April 25th, 2011), rowlers (November 18th, 2010), rtb35 (February 19th, 2011), s8lam2000 (May 7th, 2012), sameee781 (February 10th, 2011), sassan_sh (September 14th, 2011), shauny13 (November 18th, 2010), Sheshnag (December 31st, 2010), SHiFT3R (November 23rd, 2010), SiHa (June 24th, 2011), Sisyphus21 (November 2nd, 2011), snehaseeli (May 6th, 2012), snowwhite (January 15th, 2011), soki (November 30th, 2010), spikyshotgun (December 19th, 2011), stlersguy (December 10th, 2010), SwiftFox (April 28th, 2011), Taysider (February 4th, 2012), thebillington (June 1st, 2011), tuffcheez (August 11th, 2011), turbohobbit (November 18th, 2010), Tyseyh (May 25th, 2011), Wiebehd (June 2nd, 2011), wildrose (November 18th, 2010), wrigglesworth (December 8th, 2010), Xtasy (December 14th, 2010), YPud (May 4th, 2011), zigackly (December 26th, 2010), Zola Eclipse (April 6th, 2011)