All Things Root, Part I: The Basics

I wanted to talk about something a little more fun. Root. Now, I’m sure many people know what rooting is, but for those that don’t, or for those that want a little more information, here goes. If you already know about rooting, feel free to proceed to All Things Root, Part II: Utilities

What It Is

So. What, exactly, is root? Well, root is the administrator (or superuser) account on Linux and Unix systems–and Android is a Linux based operating system. So, simply put, rooting is merely the acquiring of access to the root account on the phone. In some cases, the process is simple and straightforward. In many cases, unfortunately, it’s a little more tricky, since manufacturers and carriers generally don’t want users getting their sticky fingers on the software (or hardware) innards of the phone. Why? Because rooting allows for the running of privileged commands, such as gaining write-access to system files, accessing and controlling hardware,

How It Works

The main goal is the installation the normally omitted su (superuser) binary (a standard part of Linux), allowing root privileges to be obtained, and usually includes installation of a Superuser app, which simplifies management of root permissions. Typically, it involves employing some sort of exploit in order to accomplish this. Rooting and installing a custom ROM are two different things. Installing a custom ROM requires an unlocked bootloader, which I’ll get to later. You can obtain root without flashing a custom ROM, though occasionally, flashing a rooted system image is part of the rooting process. This is generally a copy of the stock ROM that’s been modified to have root. As mentioned previously, methods of rooting a phone vary considerably. In some cases, it can be an involved process that may require the Android SDK. For popular phones, however, a relatively simple–or even one-click–solution is usually developed. Eventually.

And This Differs From Jailbreaking… How?

The primary reason I’m answering this is because I’ve gotten the question from multiple sources. The truth is, the outcome is more or less the same. The process is rather different, internally, but it doesn’t make a big difference to the user. In both cases, the goal is gaining privileged access. iOS is based on Darwin, which is an Apple-developed Unix operating system, and Android is based on Linux (which is itself based on Unix). Essentially, rooting involves restoring a normal piece of the operating system (su) that has been removed in order to secure it. Apps requiring root can be installed without it, but will be unable to obtain the root permissions. Once that piece is restored, the user can grant those permissions. iOS, on the other hand, was designed with a somewhat different philosophy. As such, jailbreaking involves exploits that allow the kernel to be patched every time the device boots–which is why there’s a distinction between tethered (requiring a connected computer every time the device boots), untethered (not requiring a connected computer), and semi-tethered (requiring a connected computer in order to have root privileges, but will function normally without it) jailbreaks. So Android rooting is slightly more ‘natural’, if you want to think of it that way. However, both involve using exploits in order to gain privileged access, and both allow the user deeper access to the device. So, from a user perspective, I suppose the difference is mostly philosophical.

Huh–What Is It Good For? (Absolutely Everything)

There are many benefits to rooting, even without using a custom ROM. For example, access to the system files means you can remove programs that carriers bundle with the phone. Likewise, you can use apps that write to the system files, such as ad-blocking apps. Apps that require lower-level access to the hardware, such as some tethering apps, overclocking/underclocking apps, or recovery management apps, are also usable. There are some apps that are usable while unrooted, but are enriched by rooting. Finally, rooting is usually the first step in unlocking the bootloader. This allows for flashing custom ROMs, which–let me tell you–opens a whole new world. Now, bear in mind, there are also dangers associated with rooting. Just as rooting gives you deeper access to your phone, so too, can it give malicious apps that access. Consequently, you don’t want to grant just any app root privileges. If you’re careful with what you install and careful with what you allow root access, you should be just as safe rooted as unrooted.

Some Guides To Rooting

Samsung Galaxy S III: Galaxy S3 Root FAQ
Samsung Galaxy S II Skyrocket: Rooting Guide
Motorola Droid 2 Global: Rooting Guide
HTC One X: One-Click Root
HTC Droid Incredible 2: Rooting Guide
HTC Phones (Snapdragon S1-based: Droid Incredible, EVO 4G, Hero, etc): Unrevoked