Scroll to navigation

fastboot() fastboot()

NAME

fastboot - manipulate the non-volatile flash partitions

SYNOPSIS

fastboot [options] [commands]

DESCRIPTION

fastboot is a program used to manipulate (list, install, erase) the non-volatile memory such as flash filesystem partitions on devices that adhere to the fastboot protocol, via a USB connection from a host computer. It requires that the device be started in a boot loader mode with the fastboot protocol enabled. Once connected to the device, the program accepts a specific set of commands sent to it via the USB using the fastboot program on the host.

fastboot is primarily used for installing the operating system binary `images' into the non-volatile flash memory of the devices.

The partition should adhere to a specific layout. Fastboot was designed for use with phones and tablets running the Android operating system.

To allow non-root user access to the devices, one might needed to add udev rules file for the specific device and add the user to the appopriate group (typically the group is named plugdev).

If the device is not connected, certain fastboot commands display the output:


< waiting for the device >

and waits till it detects and establish a fastboot connection with the connected device. Otherwise, it prints a helpful list of commands and switches and exits.

OPTIONS

Erase userdata and cache and format, if supported by the partition type.
Do not first erase partition before formatting.
Specify device serial number or path to device port.
The device serial number can also be set by setting the environment variable ANDROID_SERIAL.
Lists device paths. Works only with the command devices.
Specify the device product name.
Normally `fastboot' binary is built when building Android from the source using the `Android Open Source Project' (AOSP) repositories. Assuming $aosp is the root of the AOSP source code, the output binaries and images are stored in the $AOSP/out directory. `fastboot' binary lives in `$AOSP/out/host/linux-x86/bin' directory. If run from this directory, the images are looked for in `../../../target/product/$product' directory where $product is specified with the `-p' switch.
If this switch is not set, the environment variable ANDROID_PRODUCT_OUT should be set to the directory containing the binary images.
This switch is generally specified with the flash and flashall commands.
Override linux kernel command line. This switch is typically used along with the command boot. See the EXAMPLES section for a typical usage.
Specify a custom USB Vendor ID for the device.
Specify a custom linux kernel base address.
Specify page size for the flash device. Default value is 2048.
Automatically sparse files greater than the specified size. Specify the size as 0 to disable sparse files.

COMMANDS

Reflash the device from the give update file. The filename must be a zip file.
Reflash boot partition, recovery partition and the system partition.
Write the given file to the specified partition.
Erase a flash partition.
Format a flash partition.
Display a bootloader variable.
Download and boot kernel.
Create boot image and flash it.
List all connected devices.
Continue with autoboot.
reboot-bootloader
Reboot device into bootloader.
Reboot the device normally..
Show a help message.

ENVIRONMENT

ANDROID_PRODUCT_OUT

This variable should be set to the root of the directory where the images for the specific product is stored.

ANDROID_SERIAL

Thie variable can be used to specify the device serial number.

EXAMPLES

1. Flashing the recovery image:
	fastboot flash recovery recovery.img
2. Flash the kernel and bootloader:
	fastboot flash boot boot.img
3. Erase a partition:
	fastboot erase cache
4. Reboot the phone:
	fastboot reboot
5. Boot with a custom built kernel and root filesystem (but not write them into the flash memory):
	fastboot boot linux-2.6/arch/arm/boot/zImage root-image/recovery.img-ramdisk.cpio.gz
6. Format partitions:
	fastboot format cache
	fastboot format userdata
7. Flash all partitions at once:
	fastboot -w flashall
8. Restoring from backed up images in the user's computer::
	fastboot erase system
	fastboot erase data
	fastboot erase cache

and then flash the images (starting with system): fastboot flash system system.img fastboot flash data data.img fastboot flash cache cache.img 9. Boot the phone with a specific linux kernel commandline argument: fastboot -c "console=ttyHSL0,115200,n8" boot boot.img

DIAGNOSTICS

Make sure that the device is connected and is visible via lsusb. If the device is detected by `lsusb' and `adb devices' output shows `???????????? device', then try reloading udev rules or try disconnecting and connecting the cables.

BUGS

The command name should have been chosen more carefully to reflect its purpose.

AUTHOR

fastboot was written by engineers at Google for the Android project.

Ramakrishnan Muthukrishnan wrote this manual page, originally for the Debian Project, with a lot of suggestions from Raul Miller.

SEE ALSO

adb(1), udev(7), lsusb(8)