This how-to originally started out as a part of the Kindle Fire For Beginners (KFFB) guide, but evolved into this supplemental guide. Because of its origin, this guide assumes the reader is already familiar with KFFB, so reading it is a mandatory prerequisite. Users who post questions in this thread already covered in KFFB will be directed to go back and read it again.
My motives for writing this guide are very much in line with the reasons why I wrote KFFB. I'm hoping users will take the time to learn what they are doing and why they are doing it instead of crossing their fingers and hitting a button on an automated program. While I understand this is the more tedious route to their destination, the knowledge gained here can be used to get back on track when things go wrong or methods inevitably change over time.
The first post in this series details the process of rooting and installing a ROM on a stock device. The two share many of the same preliminary steps, so it makes sense to go over both at the same time.
Again, please read Kindle Fire For Beginners before continuing. The conventions introduced in KFFB (e.g. having KFU installed in "C:\kfu") will continue to be used here. Make sure the battery is fully charged. A drained battery is not something you'll ever want to encounter and especially not while in the middle of this process. Create a new folder "C:\kfu\software" on your hard drive. Downloaded software to be installed on the Kindle Fire will be moved there.
Download and install WinMD5Free to some place on your Computer. The developers for most of the software you'll download for the Kindle Fire will provide an MD5 checksum. The checksum is used to verify the integrity of downloaded file, so you can be sure that you haven't gotten a bad download or a corrupted file. Tell WinMD5Free what file you want to check and compare the calculated checksum with the one provided by the developer. If the two match, you can be confident about installing it on your Kindle Fire.
For all required software listed in this document...
- Extract (unzip) the files from the compressed archive (unless otherwise noted)
- Verify the MD5 checksums if they have been provided
- Move them to the C:\kfu\software folder
Getting to fastboot mode
The first step to modifying the Kindle Fire is to get the device into fastboot mode. The easiest and safest way to do this on a stock device is to use a factory cable. The factory cable is safe because it does not require the bootmode to be changed on the device. If something unexpected happens, you'll be able to disconnect the factory cable and reboot straight back into the stock software.
If you choose not to use a factory cable and change the bootmode to get into fastboot mode, you'll be taking a small gamble that you'll be able to issue fastboot commands to the device and change the bootmode back to normal. If you cannot change the bootmode back for some reason (e.g. your device drivers for fastboot mode fail to recognize the device), the device will be stuck in fastboot mode until you find a way to do so. In nearly every case, if you are able to issue the adb commands to get into fastboot mode, you should be able to send the fastboot commands necessary to get out of it. This is just a fair warning out of an abundance of caution... make sure you've done everything to ensure the ADB device drivers have been installed properly.
If you have a factory cable, you can turn the Kindle Fire off and connect the cable to the device, then the computer. The Kindle Fire will power up and put you directly into fastboot mode. You can then skip the rest of this section and go directly to flashing a recovery and bootloader. Otherwise...
2) Copy pokey9000's fbmode program into a user writeable location on the Kindle Fire...
adb push C:\kfu\software\fbmode /data/local/tmp/
adb shell chmod 755 /data/local/tmp/fbmode
adb shell /data/local/tmp/fbmode
Installing a recovery and custom bootloader
FIREFIREFIRE bootloader1) Install the TWRP recovery...
TeamWin Recovery Project (TWRP) recovery
Note: Do not extract the contents of the FIREFIREFIRE bootloader zip file. It will be flashed as-is with TWRP recovery.
fastboot -i 0x1949 flash recovery C:\kfu\software\openrecovery-twrp-blaze-2.1.1.img
fastboot -i 0x1949 oem idme bootmode 5001
fastboot -i 0x1949 reboot
adb push C:\kfu\software\fff-u-boot_v1.4a.zip /sdcard/
6) Optional: Make a nandroid backup of the stock software. From the main menu of TWRP, press the "Backup" button and then "Swipe to Back Up" to create a snapshot of the stock system. If you change your mind later about rooting or have second thoughts about the ROM, just "Restore" the backup and return to the stock configuration.
Rooting the stock software
Users interested in flashing a custom ROM may elect to skip this section. Rooting the stock software is not a requirement to flash a custom ROM because the custom ROM will completely overwrite the stock software. However, if you are undecided on the question of rooted stock vs. custom ROM, root the stock software first and try that out for a while. The option to flash a custom ROM will still be available at a later time.
The following method of rooting the Kindle Fire stock software has been tested on 6.3.x and 6.2.x systems. Skip step #5 when rooting 6.2.x systems because the root checker does not exist in those versions.
Superuser by ChainsDDThis section assumes the device is already booted into TWRP recovery.
Note: Download the latest zip for Gingerbread/ICS (the filename should end in "efghi-signed.zip"). Two separate files will be needed from the contents of this zip file: the su binary from the system\bin folder and the Superuser.apk file from system\app folder.
1) Remount the /system partition in read/write mode...
adb shell mount system
adb push C:\kfu\software\su /system/xbin/
adb shell chown root:root /system/xbin/su
adb shell chmod 6755 /system/xbin/su
adb shell mv /system/bin/check_rooted /system/bin/check_rooted.bak
adb shell idme bootmode 4000
adb install C:\kfu\software\Superuser.apk
Installing a custom ROM
It should go without saying, but users who intend on staying with a rooted stock device need to skip this section. Flashing a custom ROM will overwrite the stock software and leave no trace of the original Kindle Fire interface.
Any ROM you choose to install. Check the KF Development List as a starting point.This section assumes the device is already booted into TWRP recovery.
Note: Do not extract the contents of the ROM archive. The recovery program will need the actual zip file to install.
1) Carefully read the ROM thread for specific directions and warnings provided by the developer when flashing any new ROM.
2) Copy the custom ROM zip file to the /sdcard directory on the Kindle Fire...
adb push C:\kfu\software\ROM.zip /sdcard/
3) From the main menu of TWRP, "Wipe -> Factory Reset" to remove the existing files in the data and cache partitions that could interfere with the operation of the new system software. A "Factory Reset" will delete any installed apps, software/network settings, etc. It will not touch the /sdcard directory that contains music, eBooks, and files of that nature.
4) From the main menu of TWRP, "Install" to flash the ROM onto your device. Navigate to the /sdcard directory on the left (should be the default the first time you use TWRP) and select the file from the list on the right. Then simply "Swipe to Confirm Flash" to install.
5) From the main menu of TWRP, "Reboot -> System" to boot into the newly flash ROM.
Congratulations! You have completely replaced the stock Kindle Fire software with a custom ROM!
The zip files pushed onto the /sdcard during installation are only necessary during the installation process and do not need to take up space on the device after completing the install. Use a file manager or mount the storage device on the host computer to delete the files and reclaim the used space.
I've got some other topics in mind, but like I did with the KFFB, I'll see how users respond to this post before I continue. Please feel free to comment and make suggestions. I may not respond to everything, but I will keep the helpful comments in mind if/when I decide to expand this how-to guide. Thanks for reading.
jcase - For providing the basis for this guide and lending his expertise in rooting devices
pokey9000 - For his work on FFF and providing the fbmode exploit
TeamWin and Dees_Troy - For providing the TWRP recovery and continuing its development
ChainsDD - For the Superuser package
Unroot or Revert to Stock Software
This second post in the series details the procedures required to undo the steps taken in the first. Use it to unroot or revert back to the stock software like it just came from the factory. If you tried out the rooted stock software or a custom ROM for a while, but just prefer the no-frills stock software, you've come to the right place.
Unrooting the stock software
NoneThis section assumes the device is already booted into the system software.
1) Uninstall the Superuser app
adb uninstall com.noshufou.android.su
adb shell su -c 'idme bootmode 5001'
adb shell mount data
adb shell rm -rf /data/data/com.noshufou.android.su
adb shell mount system
adb shell mv /system/bin/check_rooted.bak /system/bin/check_rooted
adb shell rm /system/xbin/su
Congratulations! You have unrooted the stock Kindle Fire software!
Reverting to stock software
Warning: Installing the Amazon Kindle Fire Software Update will not only replace the system software, but also overwrite the bootloader and recovery with the stock versions. Any custom bootloader and recovery like FFF and TWRP will be overwritten in the process.
This section assumes the device is already booted into TWRP recovery.
1) Copy the update bin file to the /sdcard as update.zip
adb push C:\kfu\software\update-kindle-6.3.1_D01E_4107720.bin /sdcard/update.zip
3) From the main menu of TWRP, press the "Install" button to flash the stock software onto your device. Navigate to the /sdcard directory on the left and select the "update.zip" file from the list on the right. Then simply "Swipe to Confirm Flash" to install.
4) Optional: From the main menu of TWRP, "Wipe -> SD Card" to remove all files on the USB mountable storage space. This step will permanently delete all of the files that appear on a computer when the device is connected as a USB storage device.
5) From the main menu of TWRP, "Reboot -> System" to restart the device into the system software.
Congratulations! You have reverted the device to a completely stock Kindle Fire!