If you are new to the world of Android hacking and rooting, then there are many geeky terms that might bamboozle you and might end you up with quitting the idea of rooting altogether. One such term that confused me too before I was trying to root my Nexus One long ago was “Bootloader”. I went through many online tutorials, hopped through infinity YouTube And Vimeo videos for a simple answer that why on earth I need to unlock my phone’s bootloader before trying to install any custom ROM or even attempting to root. Although I wasn’t able to acquire an answer at that time, but now as the time has changed and we have access to more refined information, the bootloader mystery puzzle has started to fall in place. So in this guide, we will be going through basic questions like what is a bootloader? Why you’d like to unlock it? and how to unlock? On our way, we will also see what threats a user faces when unlocking a bootloader.
What is a Bootloader?
In literal terms, bootloader is code that is executed before any Operating System starts to run. The concept of bootloaders is universal to virtually all Operating systems that inculcates operating systems on your PC, laptop, smartphones, and other such devices. Bootloaders basically package the instructions to boot operating system kernel and most of them also have their own debugging or modification environment. As the bootloader kicks off before any piece of software on your device, it makes it extremely processor specific and every motherboard has it’s own bootloader. This is one reason that all Android phones have different Custom ROMS developed due to high variance of processing hardware present on the device. The iDevices running iOS somewhat share the same hardware specs and hence you don’t see much variance in their bootloaders.
Every Android phone has a bootloader that instructs the operating system kernel to boot normally. But you need to understand one thing here that as Android OS is an open source OS and is available on a variety of different hardware, every manufacturer has their own version of bootloader specific for the hardware present in it’s environment. We also saw couple of weeks back that Motorola packaged an “eFuse” command in their Android phones, which could brick (permanently turn off) your device in case you tried to flash a Custom ROM.
Why is Bootloader Locked?
A bootloader is usually locked on an Android device because although it’s an open source OS, still the manufacturers want you to stick to their Android OS version specifically designed for the device. In order to apply this concept, manufacturers lock the bootloader. With a locked bootloader on Android devices, it is virtually impossible to flash a Custom ROM and forced attempts void warranty as well as usually end up in bricks. Therefore, the first step is to always unlock the bootloader.
Why To Unlock Bootloader On Android Devices?
The explanation to this question is really simple. If you want root, you’d be wanting to flash Custom ROM post-root, and if you want to install a Custom ROM, you’d need to have your stock bootloader unlocked. In simple terms Unlocking the bootloader allows you to install custom Firmware on your Android phone.
Warning: Unlocking your phone’s bootloader voids its warranty. It also completely wipes (formats) your Android phone’s internal memory including applications, contacts, SMS and MMS messages etc.
How To Unlock Bootloader On Nexus Android Devices:
Before attempting this guide to unlock your bootloader, please note that this is intended for Android phone with STOCK ANDROID OS ONLY. We will be using a Google Nexus One as our reference because it comes with zero user interface alteration from it’s manufacturer. If you are looking to unlock bootloaders on handsets which already have a custom UI from manufacturers installed like HTC Sense, Samsung TouchWiz etc, then this guide won’t be applicable.
- The first step is download and install Android SDK as instructed in this post.
- Once you are done with downloading and installing SDK, turn off your device and boot in bootloader mode:
- On Nexus One, press and hold the power button and trackball.
- On Nexus S, press and hold the volume-up and power buttons.
- On Galaxy Nexus, press and hold volume-up, volume-down and power buttons.
- On Nexus 4, press and hold volume-down and power buttons.
- On Nexus 7, press and hold volume-down and power buttons.
- On Nexus 10, press and hold volume-up, volume-down and power buttons.
- Connect your device to your PC via USB and wait till any drivers are installed, which should happen automatically.
- Now go to command prompt / terminal interface on your computer and type following command:
fastboot oem unlock
- Once this is done, your phone will show a screen that will prompt you regarding unlocking bootloader. Read through the instructions carefully and confirm by pressing volume up button followed by the power button.
There you go! You now have your bootloader on your Nexus Android device unlocked.