Original author(s)Google LLC
Repositoryandroid.googlesource.com
Included withAndroid SDK
Available inC++
TypeFirmware communication protocol and implementation thereof

Fastboot is a communication protocol used primarily with Android devices.[1] It is implemented in a command-line interface tool of the same name and as a mode of the bootloader of Android devices. The tool is included with the Android SDK package and 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,[2] 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.[3] To use fastboot, a specific combination of keys must be held during boot.[4]

Not all Android devices have fastboot enabled,[5] and Android device manufacturers are allowed to choose if they want to implement fastboot or some other protocol.[6]

Keys pressed

The keys that have to be pressed for fastboot differ for various vendors.[7]

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. The tool has a partial alternative.

Commands

Some of the most commonly used fastboot commands include:

Implementations

This section relies excessively on references to primary sources. Please improve this section by adding secondary or tertiary sources. Find sources: "Fastboot" – news · newspapers · books · scholar · JSTOR (January 2024) (Learn how and when to remove this template message)

The fastboot protocol has been implemented in the Android bootloader called ABOOT,[8] the Little Kernel fork of Qualcomm,[9] TianoCore EDK II, [10][11] and Das U-Boot.[12]

See also

References

  1. ^ "Fastboot Protocol Documentation". android.googlesource.com. Retrieved 2019-07-07.
  2. ^ Ravenscraft, Eric (2014-06-13). "The Most Useful Things You Can Do with ADB and Fastboot on Android". Lifehacker. Retrieved 2019-07-07.
  3. ^ Tamma, Rohit (2015). Learning Android forensics : a hands-on guide to Android forensics, from setting up the forensic workstation to analyzing key forensic artifacts. Donnie Tindall. Birmingham, UK. p. 113. ISBN 978-1-78217-444-8. OCLC 910639389.((cite book)): CS1 maint: location missing publisher (link)
  4. ^ "How to Use ADB and Fastboot on Android (And Why You Should)". Makeuseof. 2017-01-26. Retrieved 2021-08-04.
  5. ^ "The Easiest Way to Install Android's ADB and Fastboot Tools on Any OS". Lifehacker. 11 January 2017. Retrieved 2021-08-04.
  6. ^ Drake, Joshua J. (2014). Android hacker's handbook. Zach Lanier, Collin Mulliner, Pau Oliva, Stephen A. Ridley, Georg Wicherski. Indianapolis, IN: Wiley. ISBN 978-1-118-60861-6. OCLC 875820167.
  7. ^ Tahiri, Soufiane (2016). Mastering mobile forensics : develop the capacity to dig deeper into device data acquisition. Birmingham, UK. ISBN 978-1-78528-106-8. OCLC 952135850.((cite book)): CS1 maint: location missing publisher (link)
  8. ^ Hay, R. (2017). fastboot oem vuln: Android bootloader vulnerabilities in vendor customizations. In 11th USENIX Workshop on Offensive Technologies (WOOT 17).
  9. ^ "fastboot.c\aboot\app - kernel/lk -". source.codeaurora.org. Retrieved 2021-09-11.
  10. ^ "Undocumented Fastboot Oem Commands". carlo.marag.no. 2020-09-18. Retrieved 2021-09-11.
  11. ^ "edk2/AndroidFastbootApp.c at master · tianocore/edk2". GitHub. Retrieved 2021-09-11.
  12. ^ u-boot/u-boot, u-boot, 2023-04-15, retrieved 2023-04-15