As in the current scenario, everyone is using Android smartphones.All new Android phone has an open source operating systems, but it doesn't mean that the whole thing is open for you. You can see that Android device manufacturers actually put few modifications and restrictions on the devices for safety and security. We all love Android but rooting your phone can give you the permission to do so much more than your phone can do out of the box. Rooting can speed up your device, customize the look of your phone with themes or much more.
The Major Topics That We Will Discuss in This post
- What is Rooting?
- Why we need to root a device?
- Advantages and Disadvantages of Rooting?
- Locked and UnLocked Boot Loader?
- Check Bootloader Status
What is Rooting?
On a basic level, rooting an Android device means giving superuser access to your Device.Android is built on top of Linux Kernel. In Linux based systems we have two types of user accounts, one is normal user account and second is root accounts. Normal user accounts have low privileges and they need root permission to perform privileged operations, such operations like making changes to the Operating System, installing tools and so on. Whereas root accounts have all the privileges such as applying updates, installing software tools, ability to run any superuser command and so on. Generally, root account has control over the whole system. This privilege separation model is one of the core Linux Security features.
As you all know Android is an Operating System built on top of Linux Kernel. So many features which we see in Linux System are also present in Android devices.When you buy a new Android Device, then you are not the owner of that device, meaning you will have a limited control over the device in terms of privileged operations that can only run by the root accounts. So gaining full control over the device by gaining root access is termed as rooting.
In simple words, Rooting is a process which allows you to give root access to the Android operating system code. Rooting gives privileges to modify the software code on the Android device or install other software that the manufacturer wouldn’t normally allow you to Install.
The simple way to check if your device is rooted is by running the su command on the adb shell or run su command on the Terminal from the android phone. su is the Linux command which used to switch from one account to another.
On a rooted Device, we usually have UID value 0 with a root shell having # rather than $ representing root account.You can see below.
Why we need to Root a Device?
As we already read, we do not have a complete control over the Android Device due to the limitations are given by the hardware manufacturers. That's why rooting a device gives us the full control to overcome these limitations.
However, there are different mindsets of rooting a device, which varies from person to person. Like, some people root their device to give more customization to their device, a better look and feel, and so on by installing different custom ROMs. Some root their devices to install and run apps known as root apps that cannot run without the root access and like this everyone has some other reasons.
There are many reasons for rooting the device, but rooting has its own Advantages and Disadvantages.
Advantages of Rooting
There are many advantages of rooting an Android Device, and some of them are described below.
Unlimited control over the device
As we have already read that by Default we cannot fully access the device with a normal user. After rooting an Android Device we get full control over the Android device. Now we will understand this by a simple example.
You can see that a normal user without a root access cannot see the list of installed applications package inside the /data/data Directory.
Now see that, As a root user, we can see the complete file system, modify the system files, and so on.
As in the below, you can see that a root user can see the list of installed applications package inside the /data/data Directory.
Installing additional apps
Today there are many android applications which only run on rooted phones and these applications has some special features. These applications are known as root apps. For Example, BusyBox is an app that provides many useful Linux commands that are not available on our Android Device by Default.
More Features and Customizations
We can customize our android device by installing custom recovery and custom ROMs. After installing custom ROMs we get many customization features which we can apply to our android device. These customization features are not provided by the vendor on the Stock ROM's.
Disadvantages of Rooting
There are also some disadvantages of rooting an Android Device and rooting Android device can be dangerous for end users.
Compromise the security of your device
Once the device is rooted, it compromises the security of the Android Device.
By Default, each application runs with a separate user ID assigned to it. This user id separation ensures that one application with its UID running on the device cannot access the resources or data of other applications with different UID running on the same device.
On a rooted device, a malicious application with root access does not have this type of limitation and so that malicious application can read data of any other application running on the device. For example bypassing lock screens, extracting all the data from the device such as SMS, call logs, contacts, and other apps.
Bricking your device
There are chances of bricking your device, as the rooting process might brick your device.Now, what you can do with the brick device?Now your Android device can be useless and you need to find a way to get it back.
A device that is rooted voids warranty. Many of the manufacturers do not provide free support for rooted devices. After rooting your device, even if you are in a warranty period, you may be asked to pay for your repairs as rooting your device is against to the policy of the device's manufacturers.
Locked and Unlocked Bootloaders
A boot Loader is the first thing that runs when you boot your device. Bootloader takes care and initiates your hardware and Android Kernel. Without this, our device doesn't boot/start. Most of the devices have locked bootloaders.This ensures that anyone cannot make any changes to the device firmware. Usually, to run custom ROMs on your device, the bootloader has to be unlocked first before you proceed with it.Even you can not root your device with the locked bootloader. If you want to root your device then you need to unlock the bootloader and after unlocking the bootloader you can initiate the process to root your device. Some of the manufacturers provide official methods to Unlock Bootloader.
Check Bootloader Unlock Status
This one is the easiest method and works with many devices, you don’t need any PC/Laptop, you just need to enter this code on your keypad to check your bootloader’s status.