kindle fire must read

15
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

Upload: goonerboi

Post on 28-Jan-2016

7 views

Category:

Documents


0 download

DESCRIPTION

First Gen Kindle Fire - TIPS

TRANSCRIPT

Page 1: Kindle Fire Must Read

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

Page 2: Kindle Fire Must Read

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.

Page 3: Kindle Fire Must Read

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.

Page 4: Kindle Fire Must Read

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

Page 5: Kindle Fire Must Read

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

Page 6: Kindle Fire Must Read

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

Page 7: Kindle Fire Must Read

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

Page 8: Kindle Fire Must Read

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

Page 9: Kindle Fire Must Read

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

Page 10: Kindle Fire Must Read

• 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

Page 11: Kindle Fire Must Read

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:

Page 12: Kindle Fire Must Read

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

Page 13: Kindle Fire Must Read

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:

Page 14: Kindle Fire Must Read

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

Page 15: Kindle Fire Must Read

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!