Fastboot is a
protocol
Protocol may refer to:
Sociology and politics
* Protocol (politics), a formal agreement between nation states
* Protocol (diplomacy), the etiquette of diplomacy and affairs of state
* Etiquette, a code of personal behavior
Science and technology
...
and a tool of the same name. It is included with the
Android SDK package used primarily to modify the
flash
Flash, flashes, or FLASH may refer to:
Arts, entertainment, and media
Fictional aliases
* Flash (DC Comics character), several DC Comics superheroes with super speed:
** Flash (Barry Allen)
** Flash (Jay Garrick)
** Wally West, the first Kid F ...
filesystem
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
via a
USB
Universal Serial Bus (USB) is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply ( interfacing) between computers, peripherals and other computers. A broa ...
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.
Keys pressed
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.
Commands
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. 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.).
Implementations
The fastboot protocol has been implemented in the Little Kernel fork of Qualcomm and in
TianoCore EDK II
TianoCore EDK II (formerly Tiano) is the reference implementation of UEFI by Intel. EDK is the abbreviation for EFI Development Kit and is developed by the TianoCore community. TianoCore EDK II is the de facto standard generic UEFI services implem ...
.
Fastboot is a mode of the Android bootloader called ABOOT.
[Hay, R. (2017). fastboot oem vuln: Android bootloader vulnerabilities in vendor customizations. In ''11th USENIX Workshop on Offensive Technologies (WOOT 17)''.]
See also
*
Bootloader unlocking
Bootloader unlocking is the process of disabling the bootloader security that makes secure boot possible. It can make advanced customizations possible, such as installing a custom firmware. On smartphones this can be a custom Android distribu ...
*
Android recovery mode
The Android recovery mode is a mode of Android used for installing updates. It consists of a Linux kernel with ramdisk on a separate partition from the main Android system.
Recovery mode can be useful when a phone is stuck in a bootloop or wh ...
References
External links
Flashing Devices - Android.comFastboot protocol specification
{{Firmware and booting
Android (operating system)
Communications protocols
Android (operating system) development software