Android A to Z

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 the Android 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.

Previously on Android A to Z: What's an ETF?; Find more in the Android Dictionary

More from the Android Dictionary

Android A to Z - What is IPS?
Article
by Phil Nickinson
Jan 19, 2012
What is an IPS display? IPS stands for In-Plane Switching. It's commonly found in high-end monitors -- gaining mainstream notoriety in Apple's displays -- and has also found its way into tab...
Android A to Z
Article
by Jerry Hildenbrand
Jan 18, 2012
Hacking.  It means a lot of different things to different people, and to the public at large it conjures up imagery of evil people in exotic places.  When we talk about hacking here at And...
Android A to Z - What is GSM?
Article
by Phil Nickinson
Jan 17, 2012
What is GSM? When it comes to Android devices, especially for us here in the U.S., there are two major differentiators that really have nothing to do with Android and everything to do with the carri...
Android A to Z - ETF
Article
by Phil Nickinson
Jan 06, 2012
What's an ETF? An early termination fee is something you agree to, albeit grudgingly, when you sign a contract with a carrier. In return for, say, Verizon, selling you a phone for $199 instead o...
Dalvik
Article
by Jerry Hildenbrand
Jan 05, 2012
What is Dalvik?  We hear that word getting thrown around a lot on the Internet when talking about Android and its inner workings.  While there's no easy explanation we can give in just...

 
There are 9 comments

Murph5150 says:

Jerry, thank you. It's frustrating when I read articles with tech language I don't understand. These articles you folks post are a great learning reference tool for people like me.

I love the new bootloader on the Galaxy Nexus

verbuyst says:

I love the explainations of Android A to Z, gimme more

"fastboot is a [...] protocol that you can boot your Android device into" You cannot "boot into" a protocol, that's not what protocol means.
"Fastboot runs on Windows, Mac, and Linux" Wait, what now?

I know what fastboot is used for, but I'm not sure what it IS. And reading this article only confuses me.

PacoBell says:

Yeah, I don't like how they're playing fast and loose with the terms for the fastboot mode in the bootloader, the protocol, and the client tool. If this is truly for the "layman", then we're really doing them a disservice here when they actually go out to install custom ROMs

Jred says:

It's a little nit-picking, but I agree.

AFAICT, fastboot is either an extension of the bootloader, or low-level program that gets called from the bootloader (i assume extension because the interface is identical).

From here you can use an external client to interract with it from either windows, linux or mac to push images or change parameters of the bootloader (i.e. why you can change kernel command line options). Which makes me again think it's an extension of the bootloader.

Also, as far as HTC devices are concerned, you can somewhat interact with fastboot by putting a properly named zip file on the root of your sdcard to do automated flashes. Personally I can't stand this method because you have to completely reboot and remove that zip file if you ever want to get back into fastboot/recovery again.

Just my 2 cents.

Elim says:

The 'problem' is that the same term 'fastboot' is used for different things.
1. First it is correct that fastboot is a protocol.
2. But there exists also a host application on most Android devices with the same name, which provide this protocol via the USB port.
3. And there is a client application 'fastboot' which can be install (normally with Android-SDK) under Windows, Mac or Linux. This client communicate with the host via the 'fastboot' protocol.

kharrigan says:

As far as I can tell, FB is a bootloader that can interact with a computer. I've only interacted with it once, but it seems to the be key enabler to loading custom firmware.

As for the A-to-Z articles... genius. Pure genius.

A nice article. I wish it would flesh out a little bit more on what it is and more uses, but I did find the piece useful.