Jump to content

Fastboot

From Wikipedia, the free encyclopedia
Original author(s)Google LLC
Repositoryandroid.googlesource
Included withAndroid SDK
Available inC++
TypeFirmware communication protocol and implementation thereof

Fastbootis acommunication protocolused primarily withAndroiddevices.[1]It is implemented in acommand-line interfacetool of the same name and as a mode of thebootloaderof Android devices. The tool is included with theAndroid SDKpackage and used primarily to modify theflashfilesystemvia aUSBconnection from a host computer. It requires that the device be started inFastboot mode.If the mode is enabled, it will accept a specific set of commands,[2]sent throughUSB bulk transfers.Fastboot on some devices allowsunlocking the bootloader,and subsequently, enables installing customrecoveryimage andcustom ROMon the device. Fastboot does not requireUSB debuggingto 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[edit]

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

  • HTC, Google Pixel, 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 enteringODINmode. This is a proprietary protocol, and tool, as an alternative to fastboot. The tool has a partialalternative.

Commands[edit]

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[edit]

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]andDas U-Boot.[12]

See also[edit]

References[edit]

  1. ^"Fastboot Protocol Documentation".android.googlesource.Retrieved2019-07-07.
  2. ^Ravenscraft, Eric (2014-06-13)."The Most Useful Things You Can Do with ADB and Fastboot on Android".Lifehacker.Retrieved2019-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.ISBN978-1-78217-444-8.OCLC910639389.{{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.Retrieved2021-08-04.
  5. ^"The Easiest Way to Install Android's ADB and Fastboot Tools on Any OS".Lifehacker.11 January 2017.Retrieved2021-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.ISBN978-1-118-60861-6.OCLC875820167.
  7. ^Tahiri, Soufiane (2016).Mastering mobile forensics: develop the capacity to dig deeper into device data acquisition.Birmingham, UK.ISBN978-1-78528-106-8.OCLC952135850.{{cite book}}:CS1 maint: location missing publisher (link)
  8. ^Hay, R. (2017). fastboot oem vuln: Android bootloader vulnerabilities in vendor customizations. In11thUSENIXWorkshop on Offensive Technologies (WOOT 17).
  9. ^"fastboot.c\aboot\app - kernel/lk -".source.codeaurora.org.Archived fromthe originalon 2021-09-11.Retrieved2021-09-11.
  10. ^"Undocumented Fastboot Oem Commands".carlo.marag.no.2020-09-18.Retrieved2021-09-11.
  11. ^"edk2/AndroidFastbootApp.c at master · tianocore/edk2".GitHub.Retrieved2021-09-11.
  12. ^u-boot/u-boot,u-boot, 2023-04-15,retrieved2023-04-15

External links[edit]