[Tutorial/About] Rooting and ROMming: What is and How to?
If you’ve spent much time on any Android user web-forum, you’ve probably heard of “rooting” or “custom ROMs”, and depending on where you heard the terms, reasons why people root and rom their phones may be more or less apparent. This article will attempt to make more clear the advantages to obtaining root on your Android device and provide a rudimentary guide on how to get started.
Rooting a phone is the process of gaining superuser status on the device. Once superuser status is obtained, certain software restrictions can be circumvented, including but not limited to overclocking, tethering, ADB over WiFi and even installing custom firmware. Generally speaking the majority of these software restrictions are put in place for security purposes, so while circumventing them may prove useful in some circumstances, it is important to exercise caution as to not damage or destroy your phone (e.g. by overheating) or breach your carrier contract (e.g. by illegal tethering).
Probably one of the most common reasons people root their phone is to install custom firmware, commonly referred to as “ROMs”. Custom ROMs are essentially unofficial versions of Android produced by regular users who have some knowledge of Android development, often allowing older devices to receive newer versions of Android several months or years after their Carrier and Manufacturer have ceased updates. For instance, support for the Samsung Galaxy Nexus was officially discontinued before the launch of Android 4.4 (KitKat), however earlier this week a developer released a mostly-functional Android 5.0 (Lollipop) ROM available for users to download and install. While not all device features are currently functional (mobile data currently broken), development is ongoing and initial progress is promising- it is very possible that this phone released in 2011 will continue to get community support through this version of Android.
Even if your device doesn’t receive custom ROM support for newer versions of Android than officially supported, custom ROMs may still be of interest for smaller-scale tweaks, such as removing pesky bloatware which you would otherwise be unable to uninstall, or simply to use certain applications- such as WiFi Debugging, which some users may find very useful.
How to Root
Unfortunately there is no single guide which would work for any Android device. There are several tools that exist for general purpose rooting and support most devices, however it should never be assumed that any arbitrary piece of software supports your device when rooting. This page is one of the most complete listings of all rooting guides and software sorted by device, and would be the best location to find rooting software for your device.
Once you have found your device on that page, the hyperlink should lead to a user-posted guide detailing how to root that phone. As aforementioned, the process is generally the same for most phones, but can vary significantly. If you encounter any problems that very same thread likely contains the solutions, or at least some advice in how to tackle your difficulties.
Furthermore, the threads linked to for each device are within subforums of XDA developers (likely the most active Android development forum) for that respective device. Those subforums also contain impressive listings for custom ROMs, Kernels and other custom development and are among the best way to find out what rooting can offer for your device.
Just always remember to exercise caution when modifying your devices at the OS level or below as most manufacturers and carriers consider warranty void if there is evidence that the device was rooted. That said, software issues brought about by mistakes when software-modding an Android device are usually reversible, and guides on how to fix such issues are often abundant on Android-modding forums such as XDA. The technology-savvy user ultimately has little to fear and much to gain from the rooting and ROMming scene, so it benefits them to at least be aware of what it has to offer.