Fastboot is a protocol and a tool of the same name. It is included with the Android SDK package used primarily to modify the flash filesystem via a USB connection from a host computer. It requires that the device be started in Fastboot mode. If the mode is enabled, it will accept a specific set of commands sent to it via USB using a command line. Fastboot allows to boot from a custom recovery image. Fastboot does not require USB debugging to be enabled on the device. Not all Android devices have fastboot enabled. To use fastboot, a specific combination of keys must be held during boot.
Android device manufacturers are allowed to choose if they want to implement fastboot or some other protocol.
The keys that have to be pressed for fastboot differ for various vendors.
* HTC, Xiaomi, and Google Pixel: Power and volume down * Sony: Power and volume up * Google Nexus: Power, volume up and volume down On Samsung devices, (excluding the Nexus S and Galaxy Nexus devices), power, volume down and home has to be pressed for entering ODIN mode. This is a proprietary protocol and tool as an alternative to fastboot.
Some of the most commonly used fastboot commands include: * flash rewrites a partition with a binary image stored on the host computer. * flashing unlock/oem unlock *** unlocks an OEM locked bootloader for flashing custom/unsigned ROMs. +more The *** is a device specific unlock key. * flashing lock/oem lock *** an opposite action. * erase erases a specific partition. * reboot reboots the device into either the main operating system, the system recovery partition or back into its boot loader. * devices displays a list of all devices (with the serial number) connected to the host computer. * format formats a specific partition; the file system of the partition must be recognized by the device. * oem device-info checks the bootloader state. * getvar all displays all information about device (IMEI, bootloader version, battery state etc. ).
The fastboot protocol has been implemented in the Little Kernel fork of Qualcomm and in TianoCore EDK II.
Fastboot is a mode of the Android bootloader called ABOOT.