Android Fastboot
Introduction
Fastboot is the name of a tool used to manipulate the flash partitions of the Android developer phone. It can also boot the phone using a kernel image or root filesystem image which reside on the host machine rather than in the phone flash. In order to use it, it is important to understand the flash partition layout for the ADP1.
The fastboot program works in conjunction with firmware on the phone to read and write the flash partitions. It needs the same USB device setup between the host and the target phone as adb.
Special boot mode
To use fastboot, you have to reboot the phone into the special 'fastboot' mode. Do this by turning off the phone, then booting the phone, holding down the camera button on the side of the phone, while pressing the power button.
You can tell you are in 'fastboot' mode when you see an drawing of an Android riding a skateboard.
The yellow line will say "Serial0" until you plug in the USB cable, and press the "back" key.
At this point you are ready to send commands and/or data to the phone using the fastboot program on your host.
Flash partitions
Flash partitions on the ADP1
Partition name | Device | Size | Contents |
---|---|---|---|
splash1 or misc | /dev/mtd/mtd0 | 262K | splash screen image (called 'splash1' by fastboot, but 'misc' by kernel |
recovery | /dev/mtd/mtd1 | 5.2M | kernel, initrd with rootfs (for alternate boot) |
boot | /dev/mtd/mtd2 | 2.6M | kernel, initrd with rootfs (for default boot) |
system | /dev/mtd/mtd3 | 70M | yaffs2 file system, mounted read-only at /system - has the bulk of the Android system, including system libraries, Dalvik and pre-installed applications. |
cache | /dev/mtd/mtd4 | 70M | yaffs2 file system, mounted at /cache - only used on G1 for over-the-air updates. This partition can be used to store temporary data. |
userdata | /dev/mtd/mtd5 | 78M | yaffs2 file system, mounted at /data - contains user-installed applications and data, including customization data |
Resources
Good cheat sheet at: http://andblogs.net/fastboot/
You can download binaries of 'fastboot' from: http://www.htc.com/www/support/android/adp.html (see the table about the 1/4 down the page)