Fastboot is a
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
used primarily with
Android devices. It is implemented in a
command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
tool of the same name and as a mode of the
bootloader
A bootloader, also spelled as boot loader or called bootstrap loader, is a computer program that is responsible for booting a computer and booting an operating system. If it also provides an interactive menu with multiple boot choices then it's o ...
of Android devices. The tool is included with the
Android SDK package and used primarily to modify the
flash
Flash, flashes, or FLASH may refer to:
Arts, entertainment, and media
Fictional aliases
* The Flash, several DC Comics superheroes with super speed:
** Flash (Jay Garrick)
** Barry Allen
** Wally West, the first Kid Flash and third adult Flash ...
filesystem via a
USB
Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
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 through
USB bulk transfers. Fastboot on some devices allows
unlocking the bootloader, and subsequently, enables installing custom
recovery image and
custom ROM on the device. Fastboot does not require
USB debugging to be enabled on the device. To use fastboot, a specific combination of keys must be held during boot.
Not all Android devices have fastboot enabled, and 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, Google Pixel, Motorola, and Xiaomi: Power and volume down
* Zebra and symbol devices: Right scan/action button
* 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
Odin (; from ) is a widely revered god in Norse mythology and Germanic paganism. Most surviving information on Odin comes from Norse mythology, but he figures prominently in the recorded history of Northern Europe. This includes the Roman Em ...
mode. This is a proprietary protocol, and tool, as an alternative to fastboot. The tool has a partial
alternative
Alternative or alternate may refer to:
Arts, entertainment and media
* Alternative (Kamen Rider), Alternative (''Kamen Rider''), a character in the Japanese TV series ''Kamen Rider Ryuki''
* Alternative comics, or independent comics are an altern ...
.
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 DEVICE_SPECIFIC_UNLOCK_KEY unlocks an OEM locked bootloader for flashing custom/unsigned ROMs.
* flashing lock/oem lock DEVICE_SPECIFIC_LOCK_KEY locks an OEM unlocked bootloader.
* 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
The International Mobile Equipment Identity (IMEI) is a numeric identifier, usually Unique identifier, unique, for 3GPP and iDEN mobile phones, as well as some satellite phones. It is usually found printed inside the battery compartment of the ph ...
, bootloader version, battery state etc.).
Implementations
The fastboot protocol has been implemented in the Android bootloader called ABOOT, the Little Kernel fork of Qualcomm,
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 imple ...
, and
Das U-Boot
Das U-Boot (subtitled "the Universal Boot Loader" and often shortened to U-Boot; see ''#History, History'' for more about the name) is an open-source software, open-source Bootloader, boot loader used in Embedded system, embedded devices to per ...
.
See also
*
Bootloader unlocking
Bootloader unlocking is the process of disabling the bootloader security that enforces secure boot during the boot procedure. It can allow advanced customizations possible, such as installing custom firmware. On smartphones, this can be a custom ...
*
Android recovery mode
*
Thor (protocol)
*
DFU (Device Firmware Upgrade mechanism)
References
External links
Flashing Devices - Android.comFastboot protocol specification
{{Firmware and booting
Android (operating system)
Communications protocols
Android (operating system) development software
Booting