What is a bootloader? What does it do? Why would I want to unlock it?

0
2503

The bootloader, or HBoot is your gateway to the world of rooting, modding & flashing. It is literally the first point of interaction between your phone’s hardware and software. But does everyone know what it is and what it does? We guess not. Some people want it locked, some want it unlocked, and there has been a lot of noise about bootloaders in the past. So, grab your brains, it’s time for some explanation. Here’s everything you will need to know about your Android’s bootloader.

This faq & knowledgebase article shall explain the following stuff (you can click on the titles to jump to the related section):
What is a bootloader?
The history & origin of bootloaders
What does a locked bootloader mean?
Why do phones come with a locked bootloader?
The pros and cons of an unlocked bootloader

What is a bootloader?

The bootloader (or HBoot) is a set of codes that checks the integrity of a system as it starts. Think of the bootloader as a simple lock on your door, that makes sure that unauthorized people don’t enter your house, keeping stuff inside your house safe, and you can unlock it with only the key provided with it. When a device starts, the bootloader checks the file system and partitions to make sure if they’re healthy, and then it runs the OS kernel, which then launches the OS. This process is called a boot (OS booting). Once the OS starts booting, the job of the bootloader is over, until the device reboots/resets/restarts.

The history and origin of bootloaders

Bootloaders originated as a replacement to the traditional 4-pin, 6-pin, 8-pin or 12-pin SPI-like interface ports that were used to write programs on phone memories. Remember the old Nokia and Blackberry phones that had a special interface port under the batteries? This is the place where the service center guys would connect a special thick & fat cable with many pins (not exactly many, but you get it) whenever they needed to ‘flash’ the phone with a fresh OS. This is pure nostalgia (only 90’s kids will remember), and those ports were why bootloaders came into existence. Using dedicated ports meant complications and requirement of extra equipment to, say, do simple things like upgrading the OS or flashing it fresh. Almost no average phone user could have access to those types of equipment and knowledge, and above all, it had to be done manually. As a solution, bootloaders were introduced, which could allow the phone itself to write to its system memory without any external pieces of equipment or much manual work. These modern smartphones have firmware a lot more complex than, say, the older Symbian phones, which means, bootloaders make it a lot easier for both the manufacturers and end users to send/receive system updates and modifications. Also, if/when the user needs to modify the bootloader, that can be done with just one interface port (that is, the USB port), since bootloaders are just lines of codes, and not dedicated hardware parts.

Bootloader states: locked & unlocked

When manufacturers ship phones with their flavor of Android, they decide to ship the phones with the bootloader locked. If you already know what a locked bootloader is, you can jump to the next paragraph where we’ve explained why manufacturers want bootloaders on their phones to be locked from the factory. For the rest of you, a locked bootloader basically means that the bootloader will only let the packages signed (digitially verified) from the respective manufacturer to make changes to the system partitions. For example, wiping the system, or installing a system update. In contrast, an unlocked bootloader can let the user modify system partitions with third party software packages and codes, for example, custom recoveries and custom de-bloating scripts.

Why do phones come with a locked bootloader from the factory?

Manufacturers do this so that the security of the OS and the phone can be maintained by them without many problems. Take, for example, a phone with an unlocked bootloader can install any third party recovery, which can install unverified software straight into the system partition. Simply put, they lock the bootloaders to prevent the unauthorized installation of custom recoveries and ROMs. This helps them take control of the device software and gather usage data for R&D and/or advertising. Many manufacturers allow users to unlock the bootloader if they wish to, and many don’t. Since the bootloader is literally the first point of interaction with the device, it needs to be altered to be able to flash recoveries and stuff, and therefore, a locked bootloader means no aftermarket software development.

The pros and cons of an unlocked bootloader

By now, you know what an unlocked bootloader means and what all it can let you do. Everything it lets you do are the pros. From letting you install any custom recovery of your choice (which further allows you to install custom ROMs and other mods), to letting you hard-reset the phone, an unlocked bootloader has several benefits. It can allow you to move from your manufacturers bloated ROM to a slick light custom ROM. It can allow you to gain superpowers by rooting your phone. You get the idea. On the flip side though, unlocked bootloaders can have some issues. Firstly and most importantly, most manufacturers don’t encourage rooting and flashing, so unlocking your phone’s bootloader might get your warranty void. Also, since unlocked bootloaders don’t verify digital signatures and allow users to install custom recoveries, any malicious programs can be pushed into the system partitions. Oh, and how can we forget the mammoth, the biggest nuisance of an unlocked bootloader: that annoying ‘your device can’t be trusted’ message the phone shows every time the phone boots up, right? We know.

That’s basically all you need to know about bootloaders. In this knowledge base article, we’ve explained various stuff about bootloaders in reference to Android devices only, but if you’ve got some spare time, we’d encourage you to go through this gem of an explanation of bootloaders in general by Olin Lathrop on StackExchange.