Also known as fastbootd
Fastboot is a communication protocol used primarily with Android devices. 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, sent through USB bulk transfers. Fastboot on some devices allows unlocking the bootloader, and subsequently, enables installing custom reco
via Wikipedia infobox
~3 min read
Fastboot is a communication protocol used primarily with Android devices. 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, 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.
Move fastboot to userspace | Android Open Source Project
source.android.com →Effective in 2026, to align with our trunk stable development model and ensure platform stability for the ecosystem, we will publish source code to AOSP in Q2 and Q4. For building and contributing to AOSP, use android-latest-release . The android-latest-release manifest branch will always reference the most recent release pushed to AOSP. For more information, see Changes to AOSP . Move fastboot to userspace Stay organized with collections Save and categorize content based on your preferences. Fastboot is the name of a bootloader module and mode. Android 10 and higher supports resizable partitions by relocating the fastboot implementation from bootloader to userspace. This relocation enables moving the flashing code into a maintainable and testable common location with only the vendor-specific parts of fastboot implemented by a hardware abstraction layer (HAL). In addition, Android 12 and higher supports flashing ramdisks through an added fastboot command. Because userspace fastboot and recovery are similar, you can merge them into one partition or binary. This provides advantages such as using less space, having fewer partitions overall, and having fastboot and recovery share their kernel and libraries. Fastbootd is the name of a userspace daemon and mode. To support fastbootd , the bootloader must implement a new boot control block (BCB) command of boot-fastboot . To enter fastbootd mode, bootloader writes boot-fastboot into the command field of the BCB message and leaves the recovery field of BCB unchanged (to enable restarting any interrupted recovery tasks). The status , stage , and reserved fields remain unchanged as well. The bootloader loads and boots into the recovery image upon seeing boot-fastboot in the BCB command field. Recovery then parses the BCB message and switches to fastbootd mode. This section describes the adb command for integrating fastbootd . The command has different results, depending on whether it's executed by system or by recovery. reboot fastboot Reboots into fastbootd (system). Enters fastbootd directly without a reboot (recovery). This section describes the fastboot commands for integrating fastbootd , including new commands for flashing and managing logical partitions. Some commands have different results, depending on whether they've been executed by bootloader or by fastbootd . reboot recovery Reboots into recovery (bootloader). Enters recovery directly without a reboot ( fastbootd ). reboot fastboot Reboots into fastbootd . getvar is-userspace Returns yes ( fastbootd ). Returns no (bootloader). getvar is-logical: Returns yes if the given partition is a logical partition, no otherwise. Logical partitions support all of the commands listed below. getvar super-partition-name Returns the name of the super partition. The name includes the current slot suffix if the super partition is an A/B partition (it usually isn't). create-logical-partition Creates a logical partition with the given name and size. The name must not already exist as a logical partition. delete-logical-partition Deletes the given logical partition (effectively wipes the partition). resize-logical-partition Resizes the logical partition to the new size without changing its contents. Fails if there isn't enough space available to perform the resize. flash [ ] Writes a file to a flash partition. Device must be in the unlocked state. erase Erases a partition (not required to be secure erase). Device must be in the unlocked state. getvar all Displays a bootloader variable, or all variables. If the variable doesn't exist, returns an error. set active Sets the given A/B booting slot as active . On the next boot attempt, the system boots from the specified slot. For A/B support, slots are duplicated sets of partitions that can be booted from independently. Slots are named a , b , and so on, and differentiated by adding the suffixes a , b , and so on to the partition name. reboot Reboots device normally. reboot-bootloader (or re
Excerpt from a page describing this subject · 17,524 chars · not written by Vinony
via Wikidata · CC0
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).