[Kindle Fire General] ajwgeek:
[GUIDE] [6.3.3] 1st Gen Kindle Drivers, Rooting, Bootloaders & Recovery, and OtterX

Hello everyone! I am new to working with the Kindle Fire, however, I am by no means new to rooting and tinkering with my devices. Yesterday, I inherited a Kindle Fire with software version 6.3.3 from my brother and I was completely unsure of how to root the device. I am writing this guide because many of the existing guides were unclear and lead me to screw up multiple times. In addition, some claimed to work with the 6.3.3 software version, however, they were designed for an older version of the firmware and would not actually work.

I WILL NOT BE HELD LIABLE IF YOU BRICK YOUR DEVICE USING THESE INSTRUCTIONS! FOLLOW ALL DIRECTIONS CAREFULLY AND REMEMBER TO BACKUP YOUR DATA! YOUR DATA WILL BE WIPED DURING THIS PROCESS. ONLY CONTINUE IF YOU UNDERSTAND THE RISKS! THESE INSTRUCTIONS ARE IN SEQUENTIAL ORDER, FOLLOW EACH STEP! YOU CANNOT SKIP ANY OF THE STEPS!

0. Checking MD5 Hashes

It is very important to check the MD5 hash of every file that you download for this guide. You may use your favorite MD5 checksum utility. Personally, I prefer using this tool created by Microsoft because it is lightweight and extremely fast. Unfortunately, it does take some knowledge of the Command Prompt to use. To begin, download the file and extract it to any folder that you would like. To use the tool, place the file that you are checking within the same folder as the tool. Then, hold shift on your keyboard and right click. Choose the option to open a new Command Prompt window. Then, issue the following commands:

fciv.exe <exact name of file you are checking>

This will tell you the MD5 checksum of the file that you are checking and you will want to compare it to the value that is listed with the download. Again, you will want to do this for every file that is downloaded for this guide to ensure that you do not damage your device or need to restart the process.

1. Drivers

One problem that I faced while rooting my Kindle Fire was the installation of drivers. Basically, this guide requires you to use unsigned drivers that Windows will refuse to install under normal circumstances. On Windows 8, Windows 8.1, and in the Windows 10 Technical preview, you need to enable Test Mode. Although you can just disable the driver signature verification for one boot, I found this inefficient because I needed to tinker with the drivers multiple times, with each successive installation requiring a reboot of the computer.

To enable Test Mode on Windows 8, Windows 8.1, and Windows 10 Technical Preview, you need some experience with the Command Prompt. Open an Administrative Command Prompt by typing "cmd" into the Start menu and right clicking on the Command Prompt icon. From there, choose the option to open the program with Administrative privileges. Then, issue the following commands:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

Reboot your computer.

Next, you will want to download the KFU utility from this XDA developer thread. We will NOT be using the Kindle Fire Utility for this guide because I was unable to get it working with 6.3.3, instead we will be using the included set of drivers because they worked relatively well with this process. After downloading the latest version of KFU, extract it to a folder on your Desktop. Unplug your Kindle Fire if it is plugged in to your computer or the drivers may not install correctly. You will want to open the "install_drivers.bat" file and follow the prompts. One prompt will ask you if you want to run the unsigned driver, you should choose "Install this driver software anyway!". Please restart your computer before continuing with this guide!

Now, you may plug in your Kindle Fire. Before continuing, please ensure that the installation of applications is allowed on the device by opening the settings drop down, clicking "More", and clicking on "Device". From there, check the box that allows the installation of applications. Next, you will want to navigate to the folder in the "Kindle Fire Utility" called "Tools". From here, hold shift on your keyboard and right click. Then, choose the option to open a Command Prompt window. We are going to test to make sure that the Kindle Fire is recognized by the "adb" program. To do this, we are going to issue the following commands:

adb kill-server
adb usb
adb devices

If you typed these commands correctly, any old instances of the "adb" server will be destroyed. Then, it will start a new server that will work with USB devices. Finally, it will list the connected devices. If the driver installation has succeeded, you will see the serial number of your Kindle Fire as well as an "Online" status. If you do not see your device or it is not marked as "Online", you may need to repeat the steps for installing the drivers. Do NOT continue until these commands list your device as "Online" because it could theoretically damage the device. If you are unable to get these drivers working, I recommend using the GhostBuster utility to remove old Kindle Fire and Android phone drivers.

2. Rooting the Device

This is where you want to back up anything important on the device!

Since I was unable to find an official root method from the Kindle Fire community for patch 6.3.3, I looked into using other methods. Using SafeRoot was suggested by some people and it worked very well for my Kindle Fire. So, to continue, please download the SafeRoot package from this XDA Developers link. Extract these files to a folder of your choice, preferably somewhere that is easy to access. We are NOT using the Kindle Fire Utility for this step because it simply was not compatible with software version 6.3.3.

Now, run the "install.bat" file and follow ALL of the on-screen instructions. The utility will ask you if you wish to install Busybox on your device. Busybox is a powerful utility that combines many powerful Unix utilities into a single file. You can read more about it here. You will want to choose yes when it asks you if it can install Busybox. After following all of the instructions, you should have a SuperUser application on your device that allows you run root commands!

It is NORMAL for the SafeRoot utility to show a lot of errors towards the end relating to read only files. If there are any other errors, your device may not be rooted!

3. Flashing FFF and the TWRP Recovery (Non-OtterX)

First, you will want to download the FBMode file. This file will allow your device to boot into the Fastboot mode, which allows you to flash new bootloader and recovery images. In addition, you will want to download the FireFireFire bootloader image that we will be flashing to the device. You will also need a custom recovery for this device, which can be found here.

If you ignore everything else in this guide, just please remember to MD5 check ALL of these files! This is extremely important because a bad flash could BRICK your device!

Extract each of these files to the "Tools" folder inside of the Kindle Fire Utility folder that we used earlier to install the driver. Again, open a Command Prompt window inside of the Tools folder by holding shift and right clicking, then choosing the option to open a new Command Prompt window. Type these commands EXACTLY to copy the "fbmode" file to the device. This file will put the device in Fastboot mode.

adb push fbmode /data/local/tmp
adb shell chmod 755 /data/local/tmp/fbmode
adb shell

You will notice that the Command Prompt window looks slightly different because we are now in a shell for the device. This means we are directly issuing commands to the device! Type the following commands exactly to reboot the device in Fastboot mode. Remember, the "exit" command will need to be typed TWICE!

su
cd /data/local/tmp
./fbmode
exit
exit
adb reboot

If you did everything correctly, you will now be in Fastboot mode! No, you did not brick your Kindle. The device will not boot into the OS until we tell it to so it WILL remain at the Kindle Fire logo indefinitely, even upon rebooting the device. Depending on your operating system, you may need to toy with the driver installation to 'see' the device again.

Test to make sure that the Kindle still responds to commands before continuing by issuing the following command within the same command prompt window that we used previously to copy the "fbmode" file.

fastboot -i 0x1949 reboot

The kindle should reboot into the Fastboot mode again! If not, please use this post to get the drivers working. In my case, the device responded to the reboot command, however, it did NOT show up when I checked the connected devices by issuing the following command:

fastboot -i 0x1949 devices

If all is well and the Kindle rebooted, it is time to flash the bootloader and recovery images! Remember to check the MD5 hash for these files! You WILL need to know the name of your recovery image, it should be named something very similar to "openrecovery-twrp-2.2.2.1-blaze.img".

This is NOT the FireFireFire file, which is named "fff-u-boot_v1.5.bin". DO NOT flash the FireFireFire file to the recovery partition! If you get any errors during this part of the process, DO NOT continue! You may brick your device!

fastboot -i 0x1949 flash recovery <REPLACE ME WITH THE NAME OF RECOVERY IMAGE FILE>

Next, we will flash the bootloader image! Issue the following command to the device using the same Command Prompt window that we used to flash the recovery image.

fastboot -i 0x1949 flash bootloader fff-u-boot_v1.5.bin

Now, we will take the device out of Fastboot mode and make sure that our flashes were successful! If you got any errors during the flashing process, DO NOT continue! You may brick your device!

fastboot -i 0x1949 oem idme bootmode 4000
fastboot -i 0x1949 reboot

When you reboot, you should get a new Kindle Fire logo that will be White & Blue. Follow the on-screen instructions to enter the Recovery mode and make sure that the Team Win Recovery image boots. If it does, congratulations! You now have a custom recovery and bootloader on your Kindle device!

4. Installing OtterX Bootloader and Recovery Images

Now that you have a custom bootloader and recovery image flashed, you can now experiment with the OtterX project if you wish. Remember that the OtterX project fundamentally alters the device and it may be extremely difficult to revert these changes to the device! OtterX recoveries, boot loaders, and ROMs are not compatible with stock recoveries, boot loaders, and ROMs. If you still wish to use the device as a Kindle, do not proceed!

Now that the disclaimer is out of the way, let's continue! To continue, you will need the OtterX Bootloader and a copy of the TWRP Recovery for OtterX (Fundamentally different than the TWRP recovery from the last step!). Again, REMEMBER TO CHECK THE MD5 CHECKSUMS OF THESE FILES! A corrupted file could brick your device!

To make sure that the wrong recovery and bootloader are not applied, delete the old copies from your Tools folder inside of the Kindle Fire Utility folder. Then, copy over the OtterX versions of the bootloader and recovery images. Again, open a Command Prompt window inside of the Tools folder by holding shift and right clicking, then choosing the option to open a new Command Prompt window. Enter the following commands exactly!

You will need to know the name of your bootloader file. It should be named similarly to "otterx-u-boot_v2.05.bin". Make sure it says OtterX in the name of the file! Power on the device to the Kindle Fire screen and issue the following command on your computer.

fastboot flash bootloader <Name of OtterX Bootloader File>

Now, reboot the device after the flash has fully completed! You should see a new boot logo, meaning that the flash was successful! Before we continue, we will need to change the partition layout of the device. This will erase all of your files that exist on the device, you should have backed then up a few steps ago! At the bootloader screen, short press the power button to enter the boot menu. Then, use short presses of the power button to navigate to the advanced menu. Then, use a long press to enter that menu. Now, use short presses to navigate down to the "Partition Mode" button and use a long press to enter the submenu. Use short presses to press the navigate down to the Confirm button, and finally use one last long press to start the process.

After this has been completed, reboot the device. Again at the Kindle Fire screen, enter the following command on your computer.

You will need to know the name of your recovery file. It should be named similarly to "otterx-twrp-2.7.1.0-recovery.img". Make sure it says OtterX in the name of the file!

fastboot flash recovery <Name of Recovery Image>
fastboot oem recovery

After issuing both commands, you should see the TWRP recovery screen again! If you do, congratulations! You have flashed the OtterX recovery and bootloader images to your device,

5. Installing OtterX ROMs

I have found that the easiest way to install ROMs to this device is through a function called "adb sideloading". To begin, you will need an OtterX ROM file. I personally recommend Cyanogenmod because it seems fairly stable on this tablet (with my few hours of experience) and I use it as a daily driver on my Galaxy S3.

To begin, grab a copy of ANY OtterX ROM file. You can download Cyanogenmod ROMs from this website. Next, you will also want to download a Google Apps package for your device. You can get that from this website as well.

From the TWRP recovery menu, select the "Wipe" option and then choose "Factory Reset". Follow the onscreen prompts to reset the files on your device. If you get any errors, mount the partitions shown in the "Mounts" menu on the main screen.

Next, go to the Advanced section and choose "ADB Sideload". You should choose the boxes to wipe both caches. To continue, you will need a more up-to-date version of the adb program. You will want just the SDK tools, not the full Android Studio. You can download those tools from this website. After the tools are installed, open up the SDK manager and choose the "Install x Packages" button at the bottom to update the tools. After this is complete, navigate to "C:\Program Files (x86)\Android\android-sdk\platform-tools" on your hard drive. If you are using a 32 bit computer, navigate to "C:\Program Files\Android\android-sdk\platform-tools". Copy your ROM image to this folder and rename it something easy to work with, such as "CM11-OtterX-M12.zip".

Now, you will want to slide the bar across on your device that says "Swipe to Sideload", as well as open a new Command Prompt window on your computer. You can do this by holding shift and right clicking "Open New Command Prompt Window". Now, you will want to issue the following command to make sure your computer can see your Kindle device.

adb devices

Your device serial number should be listed here and it should say "Sideload" next to the name.

Now, you will want to issue the following command:

adb sideload <Name of ROM File ZIP>

Now, you will need to wait about 5 minutes while your device is flashed with a new ROM. In my case, the ROM stopped flashing at around 47% with an "Unknown Command" error, however, my device finished the flash okay and the ROM booted just fine. As long as your TWRP recovery shows "Success!", the ROM flash was probably okay. If the ROM flash had failed, you would still be able to try the flash again without harming anything.

You can now go back to the main menu and choose to reboot your device. If the flash was successful, you should see a boot logo for whichever ROM you chose to install. Remember, the initial boot can take a long time.

After verifying that the ROM installed correctly, copy the Google Apps package to your device's internal storage. Depending on which ROM you used, the device should show up as an MTP compatible device in Windows when powered on. Then, reboot into the recovery menu and choose "Install". Then, choose the Google Apps package that you copied to the device to install them. Upon rebooting, the device will update roughly 30-50 apps depending on how much bloatware is installed with your ROM. After that is complete, you will have access to the Google Play store and many useful apps.

Congratulations, you just installed an OtterX rom onto your device!