[GUIDE] Kindle Fire For Beginners

Search This thread

kinfauns

Retired Senior Moderator and Retired DC Lead
Jan 5, 2012
1,864
3,543
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 like Kindle 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, a yellow triangle logo (versions 0.9 to 1.2), a kindle fire with android logo (version 1.3) or a white and blue kindle fire logo (version 1.4 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. To set the bootmode on a stock device, adb shell commands must be executable on the system. Because unbricking typically 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. Tinkering with the bootloader partition can certainly put the device at risk, but even this problem can be fixed with some surgery. Firekit offers a set of software and scripts that allows the bootloader to be loaded via USB. However, the Kindle Fire case must first be opened up to short a circuit that enables this USB boot option. Fortunately, the situation rarely comes up and careful flashing of the bootloader partition will minimize the possibility of it affecting the device.

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!
 
Last edited:

kinfauns

Retired Senior Moderator and Retired DC Lead
Jan 5, 2012
1,864
3,543
Windows Device Drivers and the Device Manager

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 Utility distribution. 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…

34dgcjb.png

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?
 
Last edited:

kinfauns

Retired Senior Moderator and Retired DC Lead
Jan 5, 2012
1,864
3,543
Windows cmd, fastboot and adb

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

9zsf1t.png

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

  • 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.
  • File/folder names or directory paths containing spaces must be enclosed in double quotes.
  • Drag and drop a file or folder from the Windows Explorer windows into the Command Prompt window. The complete, absolute path of the object will be pasted into the Command Prompt window automatically.
  • Utilize the "Tab" key to complete a file/folder name without typing it in its entirety (e.g. Try typing "cd C:\kfu\to" and then hit the "Tab" key).
  • 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.

Another useful command is used to sideload an app onto the device...
Code:
adb install \path\to\App.apk

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?

A supplement to this guide has been posted with details on how to root a stock device and install a custom ROM. The how-to guide outlines the use of these adb and fastboot commands in real-world tasks to modify the Kindle Fire.

Kindle Fire For Beginners - Supplemental How-To Guide

How can I thank you for this guide?

Hit the "Thanks" button and share your positive experiences in this thread. If you feel like you have more to give, consider donating a few minutes of your time to new users who come here looking for help. None of us were born with this knowledge and we all need a hand up from time to time. Be kind and generous when you post. Thanks for reading!
 
Last edited:

kinfauns

Retired Senior Moderator and Retired DC Lead
Jan 5, 2012
1,864
3,543
congratulations !
very well written guide to understand how the kf works
would recommend every new kf user to read it - hope they take the time ...

Wow... thanks! I was scanning the general section this morning to see if anybody had posted a response to the guide, but I couldn't find it right away... went to the second page and still couldn't find it so I thought it was deleted for length or something. Only then did I notice it had been made a sticky post. A thanks to b63 for the kind words and a humble bow to whoever made it a sticky.
 

vertig

Senior Member
Aug 4, 2010
154
53
Thanks for taking the time to write this guide. It is great to see contributions like this for the community to use. :)
 

spursncowboys

Member
Mar 18, 2012
8
0
Colorado Springs, CO
Wow. This is incredible. This is so easy to read and helped me alot with little minuscule things i didn't know which made it hard for me to understand completely. Thanks for the taking the time and making the extra effort to include all the little explanations.
 

thatotherguy28

Senior Member
Apr 7, 2011
85
29
Salt Lake City
Thanks, this was a good help, I have been flashing ROMs on my Captivate and a couple other Android phones for about a year, but I just got the Kindle on Saturday so I look forward to playing with it, and this guide helped point me in the right direction

sent from my Fusion ICS powered captivate on the xda premium app.
 

fiddlefaddle

Senior Member
Feb 6, 2012
200
21
Cando
Thankyou for this guide! I have had my Kindle fire for a while now and have so far managed to brick it unbrick it and erase all the system data.(don't ask me how lol):rolleyes: but I did fix that as well.... All kindle fire users should read this!
 

kinfauns

Retired Senior Moderator and Retired DC Lead
Jan 5, 2012
1,864
3,543
Many thanks to everyone with good words to say about the guide. I hope it was really worth the read for all of you. I also hope that you'll help spread the word about it to new members who might also benefit from reading it. Thanks.

Awesome write upp
Can u pls explain cyanogenmode m confused


Sent from my GT-S5570 using XDA

http://www.cyanogenmod.com/

CyanogenMod is an aftermarket firmware for a number of cell phones based on the open-source Android operating system. It offers features not found in the official Android based firmwares of vendors of these cell phones.

ROM is another word for firmware. Although the Kindle Fire doesn't have official support (yet) from the group behind CyanogenMod, many hard working developers have used it as a basis for the ROMs you see in the development section. You'll often see it referred to as CM7 (based on Gingerbread) and CM9 (based on Ice Cream Sandwich).
 

bambi007

Member
Apr 14, 2010
41
4
Thank you for this guide. Just in time for my KF to arrive tomorrow.
This really clears the things and what to do with KFU.
 

rollno88

Member
Jul 15, 2011
14
2
thank you for this amazing post -really appreciate you people taking out time to write such posts for noobs like me -must be tedious for you but its lifesaving for us :D
 

Dasanko

Senior Member
Dec 18, 2010
255
80
It's a great orientative post, I couldn't think of anything to add that it doesn't cover already.

Maybe mention that ICS ROMs are in early stages of development and some features aren't working yet? (HWA-> some games, netflix, flash....)
 

kinfauns

Retired Senior Moderator and Retired DC Lead
Jan 5, 2012
1,864
3,543
It's a great orientative post, I couldn't think of anything to add that it doesn't cover already.

Maybe mention that ICS ROMs are in early stages of development and some features aren't working yet? (HWA-> some games, netflix, flash....)

What you could add is a comparison between CM7 and CM9 and ICS and maybe some "best practices".

Thanks. I appreciate the suggestions, but I would like to avoid topics that might change from week to week. I know that CM9 is a hot topic right now, but its development is in a very fluid stage. The guide is meant to be a primer for beginners so that they have a foundation of knowledge they can use to find and understand areas of interest specific to the individual. It's not really intended to be a "what's new" guide in the world of Kindle Fire development.

I'm not sure what you mean by "best practices" in this context. I'm thinking about doing an additional guide that's more of a tutorial, but it's just bouncing around in my head for now. When I find some time to organize it, I'll do something with it.

Thanks again for reading.
 

Cheshire.Love

Member
Feb 17, 2012
32
2
Albuquerque
Thank you for writing this guide! I'm relatively new to rooting devices in general and had my first success with my 4G Amaze and now the KF. But I've always been confused by some of the terms people have used. So thank you for clarifying all this without making me look like a total newb! lol

I'm thinking about doing an additional guide that's more of a tutorial, but it's just bouncing around in my head for now. When I find some time to organize it, I'll do something with it.

This would be wonderful, I have yet to flash any ROMs onto any devices yet because I still know very little about them, other then what they do. But to know which ones are "best" or more popular would be great.

Ex:
Like CM9 can't do video
CM7 not as "flashy" but can do video

but again thank you for providing this awesome guide!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 384
    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 like Kindle 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, a yellow triangle logo (versions 0.9 to 1.2), a kindle fire with android logo (version 1.3) or a white and blue kindle fire logo (version 1.4 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. To set the bootmode on a stock device, adb shell commands must be executable on the system. Because unbricking typically 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. Tinkering with the bootloader partition can certainly put the device at risk, but even this problem can be fixed with some surgery. Firekit offers a set of software and scripts that allows the bootloader to be loaded via USB. However, the Kindle Fire case must first be opened up to short a circuit that enables this USB boot option. Fortunately, the situation rarely comes up and careful flashing of the bootloader partition will minimize the possibility of it affecting the device.

    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!
    214
    Windows cmd, fastboot and adb

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

    9zsf1t.png

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

    • 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.
    • File/folder names or directory paths containing spaces must be enclosed in double quotes.
    • Drag and drop a file or folder from the Windows Explorer windows into the Command Prompt window. The complete, absolute path of the object will be pasted into the Command Prompt window automatically.
    • Utilize the "Tab" key to complete a file/folder name without typing it in its entirety (e.g. Try typing "cd C:\kfu\to" and then hit the "Tab" key).
    • 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.

    Another useful command is used to sideload an app onto the device...
    Code:
    adb install \path\to\App.apk

    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?

    A supplement to this guide has been posted with details on how to root a stock device and install a custom ROM. The how-to guide outlines the use of these adb and fastboot commands in real-world tasks to modify the Kindle Fire.

    Kindle Fire For Beginners - Supplemental How-To Guide

    How can I thank you for this guide?

    Hit the "Thanks" button and share your positive experiences in this thread. If you feel like you have more to give, consider donating a few minutes of your time to new users who come here looking for help. None of us were born with this knowledge and we all need a hand up from time to time. Be kind and generous when you post. Thanks for reading!
    164
    Windows Device Drivers and the Device Manager

    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 Utility distribution. 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…

    34dgcjb.png

    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?
    8
    congratulations !
    very well written guide to understand how the kf works
    would recommend every new kf user to read it - hope they take the time ...

    Wow... thanks! I was scanning the general section this morning to see if anybody had posted a response to the guide, but I couldn't find it right away... went to the second page and still couldn't find it so I thought it was deleted for length or something. Only then did I notice it had been made a sticky post. A thanks to b63 for the kind words and a humble bow to whoever made it a sticky.
    3
    Many thanks to everyone with good words to say about the guide. I hope it was really worth the read for all of you. I also hope that you'll help spread the word about it to new members who might also benefit from reading it. Thanks.

    Awesome write upp
    Can u pls explain cyanogenmode m confused


    Sent from my GT-S5570 using XDA

    http://www.cyanogenmod.com/

    CyanogenMod is an aftermarket firmware for a number of cell phones based on the open-source Android operating system. It offers features not found in the official Android based firmwares of vendors of these cell phones.

    ROM is another word for firmware. Although the Kindle Fire doesn't have official support (yet) from the group behind CyanogenMod, many hard working developers have used it as a basis for the ROMs you see in the development section. You'll often see it referred to as CM7 (based on Gingerbread) and CM9 (based on Ice Cream Sandwich).