On this site I get a ton of questions (most of which couldn’t be
answered unless I was literally standing over you while you were doing a
procedure, like, “What did I do wrong?”). But occasionally I get some
questions that I
can answer, like, “What is rooting?” and “What
are the benefits of rooting?” So today, I decided to put together a
sort of FAQ on just that subject.
If there is anything else you would like to add please feel free to send me an email.
I. What is the Difference Between Rooting and Jailbreaking?
First off, let’s explain that rooting and jailbreaking are
essentially the same thing. The only difference is what device you are
referring to and which term is generally associated with that device.
Jailbreaking is generally used to describe Apple products like the
iPhone, while rooting is used to describe most other Linux based devices
like Android.
*My guess for the difference, besides just having those terms coined
with their respective operating systems, is that rooting/jailbreaking an
Apple product is a much harder process. Only reason really is that
Apple is the only phone manufacturer so opposed to jailbreaking that
they have devoted resources to resolve jailbreaking exploits whenever
they arise. Because of this it might seem more “liberating” when rooting
an iPhone and as such deserve a more suitable name perhaps.
II. What is Rooting/Jailbreaking?
Now that you know the difference between jailbreaking and rooting (or
lack thereof), we’ll answer the next obvious question; what is rooting?
In a nutshell, when we root a phone we are actually trying to gain
root access (you’ll sometimes here people say Superuser access, which is
essentially the same thing). You can basically think of it in the same
terms you think of a tree’s roots. The roots of a tree are the very
bottom of the tree just as root access is giving us access to the very
bottom or most basic files, systems, and commands on our phone. In
Linux/Android, the root user is the user with all permissions to change
and alter any files on the system/phone.
Why would we want access to these most basic folders and systems on
our phone? Well, because these are where things like our phone’s
operating systems files are contained and once we have access to them,
we can change them to our liking (or we can have someone with some
developing experience change them to our liking by flashing a ROM, but
we’ll get to that in a sec).
Besides changing our phone’s operating system files, we can also load
apps that need root access to run, by that I mean they need access to
some of those most basic files and systems to do what they do. A popular
example of this, would be the WiFi tethering app, which can turn the
phone into a WiFi hotspot so that you can share your 3G/4G connection
with other devices in the area. This app needs to access certain
features in the phone that are normally not accessible unless we root
the phone and then tell it that WiFi tethering has permission to use
that root access (yes, even though we have root access, there are
measures in place for us to determine what apps can use that privilege
and what apps cannot).
III. Benefits of Rooting
An app asking for root permissions (often called superuser permissions)
So now that you know the basic gist of what rooting is, I’m sure you want to know; what are the benefits?
- Ability to use apps that require root access like:
Wifi Tethering – turns your phone into a WiFi hotspot without you having to pay extra to your carrier for that feature
Nandroid and other backup apps – allows you to make backups that can
literally put your phone back to the exact state it was when you backed
up
File Managers – some root required file managers allow you to access system files like icons etc and change them
Overclocking apps – these apps allow you to overclock your phone’s processor, taking a 600mhz processor to 1ghz for example.
- Ability to change your phone’s icons, status bar, and overall look through themes/ROMs
- Ability to increase performance through optimizations (usually through flashing ROMs)
- Ability to upgrade your operating system version without having to wait for an OTA (like going from Android 1.6 to Android 2.2)
- Ability to add Flash support and JIT compiler (which makes your phone faster) through going to Android 2.2
- Ability to flash ROMs (and easily get all of the benefits above in one shot)
IV. What is a Recovery Image?
What a custom recovery image may look like on your phone.
A recovery image is basically a part that is built in to Android that
can be booted into without having to load the actual operating system
(this allows you to get into it even if something has gone wrong with
your phone, hence “recovery” image).
Now, normally, the recovery image on your phone has two main
functions; factory reseting the phone if you can’t get into the
operating system, and flashing an update to either fix any issues the
phone is having or upgrade it to a new version of software. In addition
to these functions there are locks and limitations set by the
manufacturer in the recovery image like the fact that even though it can
flash new versions of software, that software must be digitally signed
by the manufacturer or the phone won’t flash the software (this is
important later).
Now, since we have root access we can generally flash our own custom
recovery image on to the phone. Why? Well, a custom recovery image has
same added features including:
- Ability to use Nandroid backup (and save the entire memory of the phone to the sdcard so you can restore the phone with ease if anything goes wrong)
- Ability to use certain tools like partitioning the memory card (used for saving apps to the sdcard, adding more virtual swap memory to phones that are low on RAM, etc).
- Ability to flash updates that are not digitally signed by the manufacturer.
The last one is probably the most beneficial. Once we have a custom
recovery image that allows us to flash updates that are not digitally
signed that means we can load custom ROMs.
V. What are Custom ROMs?
Some custom ROM screenshots.
So if you are looking into rooting your phone, you have probably seen
the term ROM somewhere and are curious as to what is all the fuss about
ROMs.
ROM literally stands for Read Only Memory and in a nutshell it is the
portion of the phone’s memory that contains the operating system, apps,
and software that come preloaded on the phone. This memory can
(normally) not be altered and is what the manufacturer or carrier wants
you to have on your device when you first turn it on. If you factory
reset your phone it would simply erase all of the changes you made and
reload the ROM to get you back to how the phone was when you first
opened it.
Now, when we talk about loading or flashing ROMs onto our phones, we are referring to
custom
ROMs that developers in the Android community have made either for
themselves and decided to share, or made with the intention of sharing
for others’ enjoyment.
Basically, these developers created their own ROM with their own
operating system (say Android 2.2 vs Android 1.6), their own preloaded
apps that they think should be included (including ones that replace the
original apps on the phone, like the dialer, camera app, gallery,
etc)., and their own performance or appearance tweaks.
For most people rooting their phone, flashing a custom ROM is the
ultimate goal. It is the easiest way for them to get all the benefits of
rooting mentioned above on to their phone without having to alter the
code in their phone manually.
V. Cons of Rooting
Average person reaction when speaking about rooting/jailbreaking.
Now, with all those benefits, I’m sure you’re saying, “What’s the catch?”
1. Rooting and flashing ROMs technically voids your warranty
– This is kind of the big issue with it all. Manufacturer’s have a
pretty strict stance on rooting your phone (some more so than others)
and they will generally not honor the warranty on any phones that come
back to them with root access enabled. Now, this isn’t the manufacturers
just being evil (in most cases) and there is some reasoning behind this
concept. For example, let’s say that you flashed a ROM that didn’t have
Bluetooth support working properly (the developer just hasn’t gotten it
to work right yet) and then you try to send it in for warranty claiming
that Bluetooth doesn’t work and you want a new phone. Well, that
wouldn’t make much sense, right? Why should the manufacturer honor the
warranty when the fact that you changing the software on the phone is
what caused the issue?
Now, where manufacturers go wrong here is that they sometimes won’t
honor the warranty when a rooted phone comes in for something that has
nothing to do with the software. An example of this would be say the
trackball fell out of your phone and you sent it in for warranty and the
manufacturer said they won’t honor it because you rooted the phone.
That’s not right because you changing the software of the device has
nothing to do with the faulty trackball falling out.
Regardless though, since we are just altering software, it is
relatively easy to “unroot” most phones and get them back to factory
spec without it showing any trace of it ever being rooted in the first
place and therefore “reinstate” our warranty (which makes sense
because if we bring the software back to factory spec and the issue
still persists, then it has nothing to do with the software changes we
made and should be the manufacturer’s responsibility, right?)
2. You can harm your device – Now, while it is true
that rooting your phone and changing things and potentially stop your
phone from working (anyone that tried to flash the wrong ROM on their
phone can tell you about getting stuck in a boot loop). But the truth of
the matter is that Linux (what Android is running on top of) is pretty
hard to mess up. This is because it has fail safes in place for just
such an occasion. Two of these fail safes are the recovery image, and
bootloader (aka Hboot mode). Even if you flash the wrong ROM on your
phone, the recovery and hboot partitions of your device are untouched
and so long as you can boot into one of those two modes, you can flash a
different ROM and get the phone working again.
I would like to point out, that in all my time doing this, I have yet to see a completely unrecoverable phone.
VI. Difference between Unlocking, Rooting, and Jailbreaking
Another big question I get, is, “If I root my phone, can I use it on another carrier?” The short answer is no but I’ll explain.
Rooting and unlocking are two completely different procedures.
Rooting your phone does NOT unlock it. In order to unlock your phone and
use it on a different carrier, you must either purchase an unlock code
(if you have GSM phone), flash a new carrier’s firmware manually through
a cable (if you have a CDMA device), or you have to alter the phone’s
baseband (as with the iPhone unlocking software).
Now, this seems to become a very confusing thing for people because of
the iPhone I think. Sometimes people get confused with jailbreaking and
unlocking by thinking they are one in the same (understandably with a
name like jailbreaking you might think you are “setting it free”). But
this is not the case. The iPhone has software to unlock it but that
software is not automatically installed if you jailbreak your iPhone.
The reason for the confusion, I think, is the fact that in order to use
the unlocking software for the iPhone, you must have jailbroken it first
(as the unlocking app needs root permissions to change the baseband,
etc).