A bootloader is a computer program that loads an operating system (OS) or runtime environment for the computer after completion of the self-tests. —Wikipedia:booting
The bootloader configures the device to an initial known state and has a means to select where to start executing the kernel. It can allow you to make this selection, which allows the user, among other things, to load an alternative Linux kernel, or Windows. Because the bootloader is an essential component of the boot process, it is stored in non-volatile memory, such as flash memory.
Bootloaders are written by hardware vendors and are specialized for the hardware they run on.
For Android devices, the bootloader typically starts either Android or Recovery. Android bootloaders often have a basic interactive mode that can be triggered by holding the "volume down" button while the bootloader is executing.
A locked bootloader is one that will only boot an OS that it "approves" of. This may mean that device's boot partition has an approved digital signature, or the carrier ID (CID) hard-coded into the OS matches a value hard-coded into the bootloader itself. See also Wikipedia:Hardware restrictions#Verified/trusted/secure boot and Wikipedia:SIM lock.
For devices with a locked bootloader, booting an unsanctioned OS (e.g. CyanogenMod, LineageOS, Replicant or Ubuntu) requires the device's owner to first unlock (or even replace) the bootloader. Unlocking the bootloader sometimes voids the device's warranty. Procedures vary typically by manufacturer.
- HBOOT, an Android bootloader from HTC
- rrload, an Android bootloader from Motorola
- AndroidRoot, a replacement bootloader patched by Androidroot.mobi members for the ASUS Eee Pad Transformer Prime TF201, TF300, and TF700
- Das U-Boot, an open-source bootloader for embedded devices; used in Chromium OS; can replace the bootloader in some Android devices
- IPL+SPL, a bootloader from HTC
- GNU GRUB, the bootloader used by most desktop Linux distributions
- bootldr, a Linux bootloader for PocketPC. A copy can be found in the HandHelds CVS: http://cvs.handhelds.org/cgi-bin/viewcvs.cgi/bootldr/
- HaRET, a bootloader for booting Linux kernels on Windows CE devices