What is Firmware, Bootloader, Rooting, Kernel and Custom ROM in Android?

Android is an open source platform built on top of Linux. Being an open source, if you have a peek knowledge about android programming, you can change a whole lot in this platform. The best thing about android is obviously all the customization it allows. But if you’re an android enthusiast or more precisely an android fanboy, you can’t just live with the customizations manufacturers allow on their device. That’s why you move a step further to unlock the bootloader, root your device, add some MOD’s, change the kernel or change the whole ROM itself for a  whole new experience.

For most of users, they might be familiar with the unlocking bootloader, rooting or changing kernels, but they might have no idea what these terms really are or what functions they possess. Here’s a brief description about each of these terms related to Android.



Firmware basically refers to the Operating System you’re using on your android like the windows you run on your PC.  A stock firmware is a software that comes pre-loaded when you buy a new smartphone. Firmware is flashed on the ROM rather than phone’s storage, like in the PC so that an event of crash or malfunction won’t wipe out the system. You may have also noticed software update section on your smartphone which basically means updating your phone’s firmware to solve some bugs or to add some new features.


Bootloader of Stock Android

The bootloader in android is what BIOS is in Windows. It is the first that runs on your smartphone when you turn it ON and runs the instructions to boot an operating system, it’s kernels, and checks the disk partitions for errors or missing links. Bootloaders are usually locked and encrypted so that the system files are not hindered or modified to make sure the phone functions smoothly. So what is unlocking the bootloader?

Unlocking the bootloader is basically decrypting it to gain the root access. And what is root access? we’ll get to that later. When you unlock the bootloader, you can load some specific files into the system memory or ROM, so you can have that extra added features or access on your firmware.  It’s usually for loading root files and Xposed files during startup so that you have the privilege of root access and Xposed Modules.



Rooting means getting access or permissions to your system settings. It’s like “running a program as administrator” in Windows. A root user in the terms of LINUX is called a Super User or SU, which you might be familiar with. By rooting your device, you have all the access to the system which you can modify or tweak according to your need. You can vary almost every aspect of the OS by rooting your device. But you need to have a good knowledge of what you’re doing or you might mess up the whole system. By rooting your device, you can install custom Kernels which can improve the battery life and performance of your device. Also, by simply installing root apps you can do a lot with your phone. Xposed framework is one the easiest and stable add-on for android out there to tweak its various aspects, with its different modules you can add a lot of functionality to your device making your device more functional and easy to use. The major cause for rooting, for most of the users, is to get rid of the boat

Xposed framework is one the easiest and stable add-on for android out there to tweak its various aspects, with its different modules you can add a lot of functionality to your device making your device more functional and easy to use. The major cause for rooting, for most of the users, is to get rid of the bloatware. Bloatware is the apps that come pre-loaded from the manufacturer on your new device, which, most of them, you might not need or use and takes a lot of memory out of the device. So getting rid of them will normally speed up the performance of the phone. But the backside of rooting is that it’ll void your warranty and if you’re not following proper guidelines, you might mess up the device and brick it.


Kernel Adiutor

The kernel is a bridge or an interface layer between software and the hardware. It is integrated with the “boot.img” file you find in the system. When software needs to do anything with the hardware, it sends a request to the kernel through which it reaches the hardware. Kernel decides when things will happen, like when you adjust the brightness slider, how much brightness will change or when you select a certain app, OS sends a request to the kernel to open the app, and when kernel grants it, then only the app will load and open. Every touch of your finger on the screen and the way system responds to it, depends on the kernel. So when you change a kernel, you completely change how the software of the device responds or works along with the hardware. With a new kernel, you can have added features like Double Tap to Unlock, off-screen gestures, under-clock or overclock the device and many more.

Custom ROM:


Custom ROM is replacing your stock firmware with a new or modified version of Android. With custom ROM, you get a complete UI overhaul, meaning if your device is Samsung and you’re using Touch Wiz, by installing a custom ROM you can have the UI of the HTC devices i.e. HTC Sense or like the Nexus Devices (stock android). These ROMs are just some modifications done over the original android source and made compatible with the device. Also, with custom ROM, you can upgrade your android version even if your manufacturer doesn’t provide you a firmware update. Also, custom ROM gives you a lot of handy functionality and features. Also changing your ROM sometimes can change your Kernel for better optimization with the ROM. And the size of these ROM’s is usually very low, helping to improve the overall performance of the phone. This is the beauty of Android, you won’t get this level of customization option in any other mobile platforms.


These are the basic things or terminology you have to know as an android user as it might come really handy. There’s always a risk when you try to alter your stock firmware so you’ve to strictly follow the guidelines mentioned in the online forums and tutorials. But there’s always a way to recover your android device but make sure to backup the whole system before you try anything.
Happy Modding!