What is fastboot? In Android, fastboot is a special diagnostic and engineering protocol that you can boot your Android device into. While in fastboot, you can modify the file system images from a computer over a USB connection. It's a powerful, nerdy tool that deserves to be broken down into terms we all can understand -- let's try and do that.
Not all phones have a fastboot mode that the user can access. It's turned on with Nexus devices by default (as well as a few other phones and tablets) and has been enabled by independent Android developers and enthusiasts on some other phones. It also requires more than what ships with theAndroid SDK, and different USB drivers for Windows computers. Fastboot runs on Windows, Mac, and Linux and all the information about setting it up can be found in the forums if you're interested. Once set up, you boot your phone to fastboot and you can flash image files to your phone's internal memory. Flashing a custom recovery like ClockworkMod is a popular use case, as is resetting it all back using factory images after we're done breaking things. The images you flash don't need to be signed with a particular key, so just about anything will try to flash -- even if it shouldn't be used, so use care. There are other commands you can use with fastboot, and they're a bit more advanced. Things like erasing partitions and overriding kernel command line options can be done, and this makes the tool very useful for developing hardware and software solutions that may need customized booting procedures. With a little bit of knowledge, and the right Android hardware, fastboot can be a great tool.