Jump to content

Fastboot

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Materialscientist (talk | contribs) at 06:19, 30 March 2023 (Reverted edits by 119.30.35.162 (talk) (HG) (3.4.12)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

Fastboot is a communications 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. 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.[2] Fastboot allows to boot from a custom recovery image. Fastboot does not require USB debugging to be enabled on the device.[3] Not all Android devices have fastboot enabled.[4] To use fastboot, a specific combination of keys must be held during boot.[5]

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]

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

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 *** – 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, bootloader version, battery state etc.).

Implementations

The fastboot protocol has been implemented in the Little Kernel fork of Qualcomm[8][non-primary source needed] and in TianoCore EDK II.[9][10][non-primary source needed]

Fastboot is a mode of the Android bootloader called ABOOT.[11]

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. ^ "The Easiest Way to Install Android's ADB and Fastboot Tools on Any OS". Lifehacker. Retrieved 2021-08-04.{{cite web}}: CS1 maint: url-status (link)
  5. ^ "How to Use ADB and Fastboot on Android (And Why You Should)". Makeuseof. 2017-01-26. Retrieved 2021-08-04.{{cite web}}: CS1 maint: url-status (link)
  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. ^ "fastboot.c\aboot\app - kernel/lk -". source.codeaurora.org. Retrieved 2021-09-11.
  9. ^ "Undocumented Fastboot Oem Commands". carlo.marag.no. 2020-09-18. Retrieved 2021-09-11.
  10. ^ "edk2/AndroidFastbootApp.c at master · tianocore/edk2". GitHub. Retrieved 2021-09-11.{{cite web}}: CS1 maint: url-status (link)
  11. ^ Hay, R. (2017). fastboot oem vuln: Android bootloader vulnerabilities in vendor customizations. In 11th USENIX Workshop on Offensive Technologies (WOOT 17).