kindle fire must read
DESCRIPTION
First Gen Kindle Fire - TIPSTRANSCRIPT
What is this guide?
This guide is aimed at the novice Kindle Fire owner who wants more out of their device, but
has been overwhelmed by all the jargon and maze of directions on what to do and how to
do it. I've read through many of the threads here and I've noticed one common problem.
While user-friendly tools likeKindle Fire Utility (KFU) have managed to help countless
owners modify their devices, there are still a significant percentage of users who have
stumbled along the way. KFU is a great utility, but because it gets the user up and running
without teaching them first how to walk, any mishap results in confusion, frustration and
another post on the forum asking the same old questions. My hope is this guide will provide
the novice users with a general overview, some basic knowledge, and a foundation to help
them seek out the answers they need without rehashing topics that have been discussed
numerous times. This is not a copy-and-paste how-to guide. I've intentionally left out any
commands so the reader is not tempted to fall into the same traps I'm trying to help avoid.
If this is your first time with this guide, I suggest that it be read from top to bottom because
the document builds upon the knowledge from the previous sections to explain the next.
What is stock? What is rooting? What is a ROM?
Stock is how the Kindle Fire was shipped to you. The term is used interchangeably to
describe the original operating system loaded at the factory and the general state of your
Kindle Fire. If you've done nothing more than use your Kindle Fire in the Amazon approved
way (browsing, reading eBooks, using apps from the Amazon AppStore, etc.), you are
running the stock software on a stock device.
The first step outside of this stock state is to root the device. With a stock device, you are
using it as a standard user and not an administrator. You have no real administrative
privileges and it can only be used as Amazon intended for it to be used. Just as a Windows
or Mac OS based computer can be configured to prevent the standard user account from
installing new software or performing other low-level tasks, the same is true of the Kindle
Fire. Whether this is to protect the user from doing harmful things or locking the device
down to Amazon services is a matter of perspective. However, if you want to get outside the
confining box of the stock software, you will need root privileges. The process of obtaining
these administrative privileges is called rooting. If you like the standard Kindle Fire user
interface, but you want some other minor enhancements, rooting may be sufficient for your
needs. However, there are tradeoffs for obtaining root privileges on a stock device. While
you'll be able to do things like installing apps from the Android Market (now Google Play),
Amazon may block services like video streaming to a rooted device. In addition, rooting
officially voids the warranty on the Kindle Fire.
The more adventurous user might want to ditch the standard Kindle Fire user interface
altogether and install a 3rd party ROM. Also known as flashing, installing a ROM completely
replaces the stock Amazon software in favor of an entirely different operating system. This
provides a brand new user experience and puts you squarely in the driver's seat of the
device, controlling what you use and how you use it. A new ROM will also provide additional
features not available or possible in the stock or rooted stock configuration, but you'll have
to give up Amazon's Kindle Fire services altogether. Needless to say, installing a ROM
officially voids the warranty on the device.
What is a bootloader? What is a recovery?
A bootloader is the first piece of software loaded onto the Kindle Fire when it is powered on
or rebooted. In a nutshell, the bootloader is responsible for setting the basic hardware
configuration for the device before it hands off control to an operating system. For a stock
device, when the "kindle fire" logo first pops up on the display, that's the bootloader doing
its job and subsequently telling the Kindle Fire operating system to begin loading. Because
the stock bootloader is so limited in its function, an alternative bootloader, FIREFIREFIRE,
has been developed to provide some additional functionality. One of these features is easy
access to recovery... which leads us to the next question and answer.
A recovery is a mini operating system that allows the user to perform ROM installations,
backups, restores, wipes, and other maintenance tasks. For Kindle Fire users, there are two
choices for recovery, Team Win Recovery Project (TWRP) and ClockworkMod
Recovery (CWMR). Both provide a touch interface to mostly the same set of features, but
TWRP seems to be the more popular of the two. Either one will work just fine and will be the
go-to spot for flashing a 3rd party ROM. If the installed operating system is malfunctioning
or you just want to try something else out for a while, you can use the recovery to backup
the current ROM and flash a new one. If you change your mind at a later date, you can also
use it to restore a saved backup.
What is fastboot? What is adb?
Fastboot and ADB (Android Debug Bridge) are command line tools for your computer that
allow for direct interaction with the device. They are both available for Windows, Mac OS X
and Linux.
The 8 GB of storage space on the Kindle Fire is divided up into predefined sections called
partitions. The bootloader, recovery and operating system have their own specific partitions.
The primary function of fastboot is to flash or erase these partitions on the device. For
example, fastboot can be used to flash FIREFIREFIRE or TWRP onto their respective
partitions. Because each of these parts has their own particular partition, fastboot can flash
or erase them without affecting another. One thing to keep in mind is that while the term
fastboot most commonly refers to the command line tool, it can also refer to a particular
mode on the Kindle Fire used to accept fastboot commands. Essentially, the Kindle Fire
must be in fastboot mode for the computer to send fastboot commands to it.
ADB, on the other hand, primarily deals with file level interactions like copying a file to and
from the device. However, ADB's most powerful feature is its ability to start a linux shell and
execute some powerful commands directly on the device. The types of shell commands and
their usage are outside the scope of this document, but most users won't be utilizing them
anyway. Most commonly, adb is involved in the process of rooting the device or preparing it
to flash a 3rd party ROM, then mostly unused after the process is complete.
The fastboot and adb commands require the Kindle Fire to be in specific states for the host
computer to interact with the device. The fastboot tool needs the Kindle Fire to be in
fastboot mode and cannot send commands to the device otherwise. Similarly, the Kindle
Fire must be in recovery or booted to an operating system (with USB debugging enabled)
for it to work with the adb tool. It's not possible to go back and forth between the two
without at least rebooting the device.
What is a bootmode? What is a bootloop?
As the Kindle Fire powers up or reboots, the bootloader begins to do its job and checks for
the bootmode of the device. The bootmode tells the bootloader how it should proceed in the
boot up process. Most users will just be concerned about three of these bootmodes: normal
(4000), fastboot (4002), and recovery (5001). In a great majority of the cases, the Kindle
Fire will be in the normal bootmode setting, telling the bootloader to continue right on to
booting the operating system. However, there are circumstances when the device needs to
be started up directly in fastboot or recovery mode. This is possible by changing the
bootmode setting and rebooting the device. Bootmode is a persistent setting, meaning the
Kindle Fire will remember this new setting until it is changed again. No amount of restarts
or ROM flashes will change the bootmode until it is explicitly changed again. This is a very
important fact to remember because it's the cause of so many help requests...
A bootloop is essentially the device booting directly into fastboot or recovery mode on every
start up because the bootmode has been set to that particular setting. The posts on the
forum describing problems like, "stuck on the yellow triangle" or "keeps going into recovery"
are in most cases caused by the bootmode setting. Technically, the device isn't doing
anything wrong since it's been told by the bootmode to boot in those modes, but if the user
doesn't know about the bootmode or how to set it back, it appears to be broken. The
bootmode just needs to be set back to normal using fastboot or adb (KFU uses them behind
the scenes to do the same), and the device can be rebooted to the operating system.
What is a brick (hard-brick / soft-brick / unbrick)?
In the strictest sense, a brick is an irreversibly broken device and about as useful as a
masonry brick, hence the name. However, this slang term has come to include any
malfunctioning device, so we have slightly more descriptive terms like hard-brick or soft-
brick to indicate the degree of malfunction or difficulty of repair. To unbrick a brick just
means to get the device back to working order.
With respect to the Kindle Fire, it's very difficult to completely brick the device unless
physical damage or component malfunction is involved. In all software related bricking
circumstances, the malfunctioning device can be unbricked. In 99% of the cases, you can
fix it yourself with just a computer and a USB cable (maybe 2 cables, but more on this
later). Only in the other 1% of the cases that involve a broken bootloader will you need
more extreme measures. Unless you've dropped your Kindle Fire into the bathtub or tossed
it off a building, everything will be OK. Take a deep breath, don't panic and keep reading.
How do I unbrick my Kindle Fire?
Let's get the bootloop brick out of the way first. This shouldn't even be considered a brick
by definition since the Kindle Fire is actually functioning correctly and working as expected.
Regardless, it gets thrown into the realm of bricks, so it's here as well. As noted in a
previous section, just getting adb or fastboot to set the bootmode back to normal will fix it.
That is unless something else was done to the device after the change in bootmode
preventing access to adb or fastboot commands. Then it's actually a brick at that point.
Most bricks will involve a malfunctioning operating system. These are typically caused by a
bad flash or accidentally renaming / removing key components of the operating system.
Most of these are probably with the rooted stock Kindle Fire software since these devices
are the least likely to have a recovery installed.
The one word most often used in unbricking strategies is fastboot. If fastboot commands
can be issued to the Kindle Fire, it's 80% fixed and the hard part is over. All that needs to
be done then is to flash a new bootloader and recovery, reboot the device into recovery,
flash a new ROM, and it's fixed. Everything else involves the question of how get the Kindle
Fire into fastboot mode in the first place. Because the bootloader enables fastboot mode on
the device, it plays a key role in the unbricking process and dictates what needs to be done.
We'll go from easy to difficult.
With the FIREFIREFIRE (FFF) bootloader installed on the Kindle Fire, either a yellow triangle
logo (versions 0.9 to 1.2) or the kindle fire with android logo (version 1.3 and beyond) will
appear on the display as the device boots up. If you have FFF installed and running, you
already have easy access to fastboot mode because FFF temporarily enables fastboot mode
for a short period of time as the device boots up. Send the device a quick fastboot
command during this time and it will stay in fastboot mode until it's rebooted again. For just
the temporary fastboot mode alone, FFF is worth the price of admission. Even if you never
install a recovery and the device will only run the stock Kindle Fire software, the temporarily
fastboot will save you from a bad headache if the operating system should ever go bad.
With the stock bootloader, the standard kindle fire logo will appear on the display as the
device boots up. Unlike FFF, this bootloader does not have a temporary fastboot mode, so
the bootmode on the device must be manually set to fastboot mode (4002) and rebooted.
This is where it can get a little complicated. To be able to set the bootmode, adb shell must
be working to issue the command to change bootmodes. To issue the command to change
bootmodes, the device must be rooted because this command requires root privileges. If
the device is not rooted, it must be able to run BurritoRoot to root it and get the root
privileges. Failing to do any of these will mean the device will not be able to get into
fastboot mode. To recap the steps in order, you must get root, get to adb shell, change the
bootmode and get to fastboot. Since unbricking probably means attempting to replace a
broken operating system, the chances of getting it done this way aren't so good. Remember
FFF from the previous paragraph? This is why FFF and temporary fastboot mode is like a
golden ticket to unbricking, a close second to having a factory cable...
With the stock bootloader and a broken system unable to change bootmodes, a factory
cable is required. A factory cable is a special USB cable able to force the device into fastboot
mode. If the bootloader is working properly, the factory cable can get the device into
fastboot mode without any additional help. Anyone handy enough with a soldering iron can
modify a generic USB cable with a micro connector into a factory cable. Pre-made cables are
also available for purchase in various places or from an XDA member for a reasonable price.
With the Kindle Fire off, plug the factory cable into the USB port of the device and then the
computer. The Kindle Fire will then boot up in fastboot mode. The factory cable works with
either the stock or FFF bootloaders and it's a worthwhile safety net to have around. With a
factory cable, unbricking just comes down to "plug it in and flash new stuff" in almost every
bricking situation, except the next one...
For the unfortunate owner of a Kindle Fire with a bad bootloader, it's the worst case
scenario. Without a working bootloader, the device cannot enable fastboot mode and
nothing else can be loaded onto the device. There's still another a fix, but it involves some
surgery. The Kindle Fire case must be opened up to short a circuit that enables a bootloader
(FFF with fastboot mode) to be loaded via USB. I won't go into the details, but a search for
usbboot should bring up the relevant information. I've never even seen anybody post to the
forum with this problem, so it's exceedingly rare. My guess is only those who have been
tinkering with the bootloader would be at risk and that excludes nearly everyone.
What next?
To all readers - If you've read this far, please provide some feedback on this guide. I'd like
to know if you feel it's a useful starting point for beginners and how you think it might be
improved. Again, this guide is only meant to be used to build up a new user's knowledge
base, so I don't intend to provide step-by-step instructions for these tasks... the guide is
already long enough as it is. Otherwise, I'd like to hear what you have to say and perhaps
I'll try writing some expanded tutorials in the future.
To the novice user - If you are having problems with your device, look for threads
discussing similar problems. Odds are that you are not the first to encounter your specific
problem and it's likely to have been discussed already. As a general word of advice... people
here (and any other forum in general) are more willing to help you if you've tried to help
yourself first. Try reading and searching for things on this forum. There's a lot here… I
know. Take your time and digest the information. Hopefully, the base knowledge you've
gathered from this guide will help you to understand the discussions. Then if you hit a wall
and just can't get anywhere, write your post detailing the problem, things you've tried and
what happened as a result. A post that says "It's broken, help me" will get ignored while
"I've tried A, B, C and get X, Y, Z... can someone suggest an alternative?" will get a flood of
responses. Good luck!
Will you be writing more guides?
Thanks to everyone who read my first guide and had so many kind words to say. I sincerely
appreciate the posts and decided to continue on with the series with what I feel is the
greatest stumbling block for new users using the Windows OS... device drivers. Each day
brings another group of users with broken devices and many don't even know if their
drivers are loading correctly. I'm hoping to fill the gap with this installment of my guides.
I've deviated from the style of the first post and made this more of a step-by-step tutorial
rather than a general information guide. If you have not read the first post, I strongly urge
you to back up and go through that before continuing.
I want to offer a special thanks to b63, a tireless champion of the lost souls who come here
seeking help. Some of the information in this guide have been borrowed from his helpful
posts.
What are drivers?
Device drivers are specialized software programs necessary for the Operating System to
interface and interact with hardware devices. Simply put, every attached piece of hardware
needs a corresponding device driver for the computer to be able to talk to the device.
Common peripherals like keyboards, mice, and thumb drives have generic drivers built into
the OS, so the user need not worry about them (in most cases). However, other devices
may need specific drivers to be installed by the user onto the host computer. If the OS
cannot find or load up the proper drivers for the device, programs relying on the device
drivers will not function properly.
With respect to the Kindle Fire, ADB drivers must be installed and functioning for fastboot
and adb to send commands to the device. For users doing anything other than using the KF
in the stock configuration, installing the ADB drivers will be the first step in modifying the
device or troubleshooting problems. Proper installation is a crucial step and must be
completed successfully before anything else can be done. Neither fastboot nor adb will be
able to issue commands to the Kindle Fire without these drivers. Using Kindle Fire Utility
provides no exemption because KFU uses fastboot and adb in the background to complete
its tasks.
Do yourself a favor and make sure the ADB drivers get installed correctly and test them
while the Kindle Fire is fully functional. Trying to get driver issues resolved when the Kindle
Fire is malfunctioning just complicates matters and makes the job that much more difficult.
How do I install the ADB drivers?
The ADB drivers can be found in the Android Software Development Kit (SDK) provided by
Google. Android developers use the SDK to build software for all sorts of Android devices. If
you have an interest in Android development, you might want to go this route, but you will
have to edit some configuration files with Kindle Fire specific information. However, the SDK
method is probably overkill for most users here.
By far, the easiest and best method of installing ADB drivers on a Windows OS based
machine is to use the installer provided in the Kindle Fire Utilitydistribution. Find the latest
version and download it to your computer. The distribution is in the form of a ZIP archive,
so the contents will have to be extracted before the files can be used. You can extract the
files to any place on your hard drive, but the rest of the directions here will assume they
have been placed in the "C:\kfu" folder. To do that...
Right click on the downloaded file and select "Extract All..." from the menu
Type "C:" into the box and press the "Extract" button
Windows should open a window to the C: drive after extraction
Rename the "Kindle Fire Utility" folder to "kfu" Now the KFU files should be located in the "C:\kfu" folder. Open up the folder and you'll see an "install_drivers.bat" file among the contents. Windows may hide the ".bat" portion of the name, so it might just look like "install_drivers" in the folder. Disconnect the Kindle Fire from the computer (highly recommended) and then run the "install_drivers.bat" batch file. The installer will automatically check for the OS type (32 or 64 bit), and then install the appropriate drivers and configuration files. Don't worry too much about Windows not being able to verify the publisher of the drivers. The warning is there because the drivers have been repackaged for use in KFU and have not been signed. It's OK to just install the driver software anyway. If Windows refuses to install unsigned drivers, that feature must be disabled before continuing. The process differs for various Windows releases, so search Google and find a suitable method for your system. International users may have to change the language code in the "C:\kfu\drivers\dpinst.xml" file before installing. For example, German users should open the file with WordPad and change the "0x409" (English) to "0x407" (German). How can I verify the drivers are loading? The Windows Device Manager is the key to determining the status of all the computer's devices and drivers. Right click on the "Computer" wherever you can find it (the Start menu, the Windows Explorer, etc.), select "Manage" from the menu and the "Computer Management" program will start up. From the left panel, select "Device Manager" in the "System Tools" category and the large pane in the middle will show a list of device types. Click on the triangle (or plus sign) next to a device type and a list will expand to show all the devices of that particular type. Now, connect the Kindle Fire to the computer and keep an eye on the device list. Windows will give some device detection beeps and the list will refresh with one of the following items. Refer to the table below…
Before getting into the meaning of the table above, a small detail must first be covered. For adb to interact with the Kindle Fire, it must first have the "USB debugging" feature enabled. Without this feature, Windows will not even attempt to load the appropriate driver. The stock Kindle Fire software has this feature turned on at all times, but other ROMs must have "Settings -> Applications -> Development -> USB debugging" enabled. The rest of this document assumes normal mode has USB debugging enabled. Getting back to the table above, notice the following:
Top row: the device is in fastboot mode. Bottom row: the device is in recovery or normal
mode
Left column: the ADB driver has not loaded. Right column: the ADB driver has loaded
When the ADB driver has not loaded, the letter 'K' in Kindle is in uppercase for recovery or
normal mode, but in lowercase for fastboot mode
When the ADB driver has loaded, the word 'Composite' appears for recovery or normal
mode, but not for fastboot mode So, if you've managed to get the ADB drivers installed properly, you should see one of the items on the right-hand side of the table. Test it in both fastboot mode and normal mode to be sure it loads correctly in both cases. What can I do if the drivers won't load? Windows can be very temperamental when it comes to device drivers. Don't assume the worst right away, but try rebooting the computer, disconnecting/reconnecting the device, and restarting the device in both modes. Fastboot in particular sometimes won't get detected by Windows on the first try and may require a reboot of the Kindle Fire. If the Kindle Fire comes up as a different device or you get a "Code 10" error, you'll have to explicitly tell Windows what driver you expect to see for the device. The steps below are for Windows 7, but they should be very similar for earlier versions of Windows as well. The following may have to be performed twice, once for normal mode and again for fastboot mode. The steps below are listed for normal mode (and the fastboot equivalent in parentheses). Be sure to have tried installing the drivers using the batch file at least once or you will not be able to complete the process.
Connect the Kindle Fire in normal mode (fastboot mode) to the computer
In the Device Manager, right click on the device and select "Uninstall"
Check the "Delete the driver software for this device." box and press "OK"
Disconnect the Kindle Fire, reconnect and reboot in normal mode (fastboot mode)
The Device Manager should show "Other devices -> Kindle" ("Other devices -> kindle")
Right click on "Kindle" ("kindle") and select "Update Driver Software..."
Select "Browse my computer for driver software"
Do not click the "Next" button, but select "Let me pick from a list of device drivers on my
computer"
Select "Android Phone" and then press the "Next" button
Press the "Have Disk..." button
Click the "Browse..." button, point it to the "C:\kfu\drivers\kindle" directory and press
"Open"
Press the "OK" button
Uncheck the "Show compatible hardware" checkbox
Select "Android Composite ADB Interface" ("Android ADB Interface") and press the "Next"
button
Select "Install this driver software anyway"
Press the "Close" button
The device should now appear in the Device Manager.
Now I can use KFU for everything, right?
KFU is great as a preliminary setup tool, but not so good as a troubleshooting tool. Making it easy also
means hiding many details from the user and those details can help you understand what's happening
with the device. If you get into a jam with the Kindle Fire, you're much better off getting your hands dirty
with fastboot and adb. Whether you've used the SDK or KFU to install the drivers, you got the fastboot
and adb programs as part of the package deal. You might as well learn to put them to good use.
Users seem to balk at the idea of using the command line, but all you really need to know is a few simple
Windows "cmd" commands to get around the directory structure. Then, you just have to learn a handful of
fastboot and adb commands to become a Kindle Fire expert. That doesn't sound so bad, does it?
OK, so what are these commands?
To get started, click on the Start Menu to begin. Then, depending on the version of
Windows, either use "Run…" or "Search" and type "cmd" to open up a command line window
that will look a lot like...
The last line in this example is called a prompt and it's followed by a blinking cursor. The prompt tells you where you are in the directory structure. When the "cmd" program first starts up, that location is your Windows user's home directory by default. In the above example, my username is "kinfauns" and my home directory by the same name is in the "Users" directory located on the "C:" drive. The "C:\Users\kinfauns" part of the prompt is the directory path and it uniquely describes the location of the home directory owned by the "kinfauns" user. The blinking cursor indicates the program's readiness to accept a new command. Each time you execute a command, a new prompt/cursor will appear at the bottom, telling you that it's ready for you to type another. Now type "dir" (without the quotes) and press Enter, and you'll see the names of all the folders in your home directory. The "dir" command just prints out a content listing of the directory indicated by the prompt. If you open up your home folder in Windows Explorer and look inside, you'll see everything in that folder shown in the list you got from the "dir" command. The "dir" command implicitly operated on the current directory shown in the prompt, but you can also provide an explicit argument to tell it what directory to list. For example, "dir C:\Users" lists all the users directories. Providing an argument after the command name will be important for the next command... The "cd" command is used to change the current working directory. We need to get to the KFU directory, so we can use "C:\kfu" as an argument to the "cd" command. Type "cd C:\kfu" and press Enter to change to that directory. No output was provided, but the new prompt has a different directory path to confirm the "cd" command has executed successfully. You can try "dir" here to list the contents of the "C:\kfu" directory, but it's not necessary to first list it if you know what's in there already. In this case, we'll "cd" into the "C:\kfu\tools" directory, but you won't have to provide the full path. Since "C:\kfu" is already the current working directory, "cd tools" is equivalent to the "cd C:\kfu\tools" command. The one other key component to navigating the directory structure is the ".." directory. The ".." directory refers to the parent of the current directory, so "cd .." will take you back up to "C:\kfu" and another "cd .." will take you up to the "C:\" directory. Now you'll be able to navigate through the directories and you should have a fair idea about how to construct a directory path (this will come in handy later). The fastboot and adb executables are in the "C:\kfu\tools" directory, so you'll have to get there using what you learned to be able to use them in the next section. There are just a few more tips that might come in handy... • Utilize the "Tab" key to complete a file/folder name without typing it in its entirety. Try typing "cd C:\kfu\to" and then hit the "Tab" key
• File/folder names or directory paths containing spaces must be enclosed in double quotes. Using the name completion feature mentioned above will do this automatically. • Shift-right-click on/within a folder and select "Open command window here" to open a command line window with that directory path as the current working directory • For more information on Windows cmd commands, bleepingcomputer.com has a nice introductory tutorial and ss64.com has a full reference page of commands. How about those fastboot commands? Just to review, fastboot is a command line tool used to erase or flash partitions on Android devices. To use fastboot commands, the Kindle Fire must be put into fastboot mode by one of the following three methods...
Set the bootmode to 4002 and reboot
Connect a factory cable and reboot
Issue a fastboot command during FFF's temporary fastboot mode Fastboot mode can be confirmed in Windows Device Manager as "Android Phone -> Android ADB Interface" when the proper drivers have loaded. You can also verify the Kindle Fire is in fastboot mode by issuing... Code:
fastboot getvar product
and it will confirm by returning "product: kindle" as the output. Alternatively, Code:
fastboot devices
returning "0123456789ABCDEF fastboot" also means the device is in fastboot mode, but
this does not seem to stop the FFF temporary fastboot countdown, so the first command is
probably more useful to remember.
When using the stock bootloader (plain "kindle fire" boot logo), the fastboot command must
always specify the custom vendor ID used by the Kindle Fire. For example, the commands
above must be slightly altered to... Code:
fastboot -i 0x1949 getvar product
fastboot -i 0x1949 devices
and likewise, all of the following commands will need the "-i 0x1949" switch when using the
stock bootloader. The FFF bootloader's vendor ID has been changed to one that is normally
recognized by fastboot, so the "-i 0x1949" switch can be omitted.
Now onto some more useful fastboot commands... Code:
fastboot oem idme bootmode 4000
fastboot oem idme bootmode 4002
fastboot oem idme bootmode 5001
Using one of these commands will change the bootmode to normal (4000), fastboot (4002)
or recovery (5001). Then issuing... Code:
fastboot reboot
will reboot the device into the respective bootmode.
Use one of the following to wipe a partition on the device... Code:
fastboot erase bootloader
fastboot erase recovery
fastboot erase boot
fastboot erase system
fastboot erase cache
fastboot erase userdata
fastboot erase media
You must be very deliberate when using these commands. The fastboot erase command will
immediately start erasing the partition and it will not be recoverable if you change your
mind. Erasing the bootloader, boot, or system partitions (especially the bootloader) can
seriously brick your device if they are not replaced. In most cases, it's probably best and
safest to flash a new image on top of the existing data, but they are listed here for
reference. The last two commands are probably more useful than the others. Erasing the
data partition is roughly equivalent to a factory reset and the last command will erase the
sdcard partition.
Rather than use the fastboot erase commands above, the fastboot flash command can be
used to overwrite the partitions... Code:
fastboot flash bootloader \path\to\u-boot.bin
fastboot flash recovery \path\to\recovery.img
fastboot flash boot \path\to\boot.img
fastboot flash system \path\to\system.img
fastboot flash userdata \path\to\userdata.img
Most users will most likely only need to utilize the first two of these commands to flash a
new bootloader and recovery, but the others may still be useful if there's ever a reason to
flash them separately.
Just in case you are unsure about what the "\path\to" part of the command means, it refers
to the directory location of the file you are flashing. Let's say you want to flash a new
recovery image and have the recovery.img file in the C:\kfu\software folder. You would
replace the "\path\to" part with "C:\kfu\software" in the command to look like... Code:
fastboot flash recovery C:\kfu\software\recovery.img
The file name at the end is also a generic example and should be changed to the actual
name of the downloaded file.
The Kindle Fire can also be booted directly from a boot image on your computer without
first flashing it to the device... Code:
fastboot boot \path\to\boot.img
Because a recovery image is just another boot image, this feature is useful for testing out
another recovery without overwriting the one currently installed. For instance, if you have
CWMR installed, but you just want to take a look at the new TWRP release, use "fastboot
boot" to boot from that image. It won't affect your CWMR installation and the next restart
into recovery will boot into CWMR. Note: This will not work with TWRP 2.0.0 because that
distribution is a boot image that automatically flashes the recovery image contained within
the boot image. TWRP 2.1.0 and above will behave as previously described.
For even more fastboot commands, take a look at... Code:
fastboot help
What about the adb commands?
As noted before, adb commands can be sent to the Kindle Fire when it is either booted into
the OS or recovery. First check the Windows Device Manger to make sure "Android Phone -
> Android Composite ADB Interface" appears in the list and then verify adb is working
properly with the following command... Code:
adb devices
To manage communications between the computer and the device, adb utilizes the services
of a background server (daemon). When an adb command is issued, it checks to see that
the server is running and starts one as necessary. After this server starts running, adb will
output a line with a 16 digit alphanumeric identifier and a short description for each devices
that responds to the query (e.g. "3A8F010600000001 recovery"). If you don't see this
identifier, then the device drivers are probably not installed or not loading properly... see
the previous post about device drivers.
Like fastboot in the previous section, adb can also be used to change the bootmodes on a
rooted device... Code:
adb shell idme bootmode 4000
adb shell idme bootmode 4002
adb shell idme bootmode 5001
These adb shell commands will change the bootmode to normal (4000), fastboot (4002) or
recovery (5001). Then the device can be restarted with Code:
adb reboot
These adb commands copy files and folders to and from the device... Code:
adb push <source on host> <destination on device>
adb pull <source on device> <destination on host>
The arguments enclosed in angle brackets (<>) must be replaced with the path to files and
folders as appropriate. To copy a file or folder from the host computer to the Kindle Fire,
use the "adb push" command. To illustrate by example, let's say there's a folder full of mp3
files, "C:\mp3" on the computer and you want to copy some or all of them to the Kindle
Fire's Music folder. Code:
adb push C:\mp3\track1.mp3 /sdcard/Music/
adb push C:\mp3\track1.mp3 /sdcard/Music/newtrack.mp3
adb push C:\mp3 /sdcard/Music
The first command copies the track1.mp3 file to the Music folder on the Kindle Fire. The
second command copies the same file with a new name on the device. The last one copies
the entire contents of the mp3 folder to the Music folder. Note that Windows uses the
backslash as a separator while the Kindle Fire uses the Unix/Linux conventions with the
forward slash.
Conversely, "adb pull" copies a file or folder from the Kindle Fire to the host computer. Code:
adb pull /sdcard/Music/track1.mp3 C:\mp3
adb pull /sdcard/Music/track1.mp3 C:\mp3\newtrack.mp3
adb pull /sdcard/Music C:\mp3
These commands are equivalent to the "adb push" examples, but move the files and folders
in the opposite direction.
Some of the most powerful adb commands are actually Linux commands. One such example
to change the bootmode of the device was covered earlier in this section. "adb shell"
commands in this form... Code:
adb shell <Linux command>
actually execute a Linux command directly on the device. The entire range of available
Linux commands cannot be covered here because of the limited scope of this document.
Just be aware that any commands in this form are really Linux commands being run
through adb. For more information on Linux shell commands, An Introduction to the Linux
Command Shell For Beginners is a good place to start.
Most users will be able to get by with the commands covered here, but adb has many other
useful commands as well. Be sure to take a look at the built-in help for other useful adb
commands... Code:
adb help
How do I put all these commands together?
We learn best by example, so let's cover the steps required to install a ROM on a stock
Kindle Fire.
1) First download the software required:
pokey9000's fbmode files
FIREFIREFIRE bootloader
TeamWin Recovery Project (TWRP) recovery
2) Create a new folder C:\kfu\software 3) Unzip the archives (as necessary), verify the md5 checksums (recommended) and move all of the downloaded files into the C:\kfu\software directory 4) Boot up the Kindle Fire normally and connect a USB cable to the device and computer 5) Set the device to fastboot mode using the fbmode program and reboot using the following commands... Code:
adb push C:\kfu\software\fbmode /data/local/tmp
adb shell chmod 755 /data/local/tmp/fbmode
adb shell /data/local/tmp/fbmode
adb reboot
In case you are wondering why the "adb shell idme bootmode 4002" command isn't being
used here, that command requires root privileges not available in the stock configuration.
Without root privileges, the above workaround is required. The first copies the fbmode
program to a directory on the device and then the second is used to change permissions to
allow the device to execute the program. The third actually runs the fbmode program and
the last restarts the device in the newly set fastboot mode.
6) The device will restart and appear to get stuck on the "kindle fire" logo, but it's actually
now in fastboot mode. Run the following fastboot commands to install the new bootloader
and recovery into their respective partitions... Code:
fastboot -i 0x1949 flash bootloader C:\kfu\software\u-boot.bin
fastboot -i 0x1949 flash recovery C:\kfu\software\openrecovery-twrp-blaze-
2.1.1.img
7) Now set the bootmode to recovery and restart the device... Code:
fastboot -i 0x1949 oem idme bootmode 5001
fastboot -i 0x1949 reboot
8) Once the device reboots into TWRP, use the "Mount -> SD Card" feature to get the Kindle
Fire's storage to appear on the computer. Download the ROM of your choice and copy it
over to the Kindle Fire. After unmounting the SD Card (first by ejecting on the computer
and then unmounting on TWRP), you can use the "Install" feature of TWRP to flash the ROM
onto your device. Be sure to carefully read the original post (OP) for specific directions
provided by the developer when flashing any new ROM.
9) "Reboot -> System" on TWRP and just a few minutes later, you'll have a brand new
system on your Kindle Fire.
Thanks for reading!