[8.9" Kindle Fire HD Android Development] Hashcode:
Introducing: Kindle Fire 2nd-bootloader + TWRP 2.8.x.x for the Kindle Fire HD 8.9

*** USE AT YOUR OWN RISK! WHILE I TRY MY BEST TO PROVIDE WORKING KERNELS/ROMS, I AM NOT RESPONSIBLE IF THIS SOFTWARE OR ANYTHING I'VE WORKED ON SUDDENLY FRIES YOUR DEVICE. ***

** THESE FILES WILL ONLY WORK ON A KINDLE FIRE HD 8.9. DO NOT ATTEMPT TO USE THESE FILES ON ANY OTHER DEVICE. **

** WHEN MODDING THE KFIRE HD YOU SHOULD HAVE WORKING FASTBOOT DRIVERS ON YOUR PC. **

FASTBOOT CABLES ARE NOT REQUIRED FOR USING FASTBOOT MODE ON THE KINDLE FIRE HD 8.9.

DOWNLOAD THE ANDROID SDK AND GO FROM THERE.

POSSIBLE ALSO THAT USING A FASTBOOT CABLE ON THE 8.9 WILL CAUSE DAMAGE.

http://developer.android.com/sdk/index.html

MAC USERS: USEFUL LINKS

http://xdaforums.com/showpost.php?p=41199927&postcount=230

Q: How do I know if my fastboot works?

A: With the Kindle powered down, type the following command into a cmd/terminal window on your PC (should return with: < waiting for device> ):

fastboot -i 0x1949 getvar product

Then connect USB to the Kindle and reboot. It *SHOULD* show a Fastboot screen and your terminal window should show something like:

product: Jem-PVT-Prod-04

Type this to reboot out of fastboot mode:

fastboot -i 0x1949 reboot

** IF YOU HAVE QUESTIONS, RE-READ THROUGH THE THREAD FOR ANSWERS. WHEN YOU'RE ABSOLUTELY SURE NO ONE HAS ASKED YOUR QUESTION, GO AHEAD AND RE-READ THE THREAD AGAIN AND USE THE SEARCH FEATURE. THEN POST YOUR QUESTION IF YOU STILL CAN'T FIND THE ANSWER **

INSTRUCTIONS FOR INSTALLING A 2ND-BOOTLOADER TO LOAD CUSTOM KERNELS / ROMS / RECOVERY:

*** BE SURE YOU HAVE A GOOD CHARGE ON THE DEVICE ***

STEP 1. Backup your stock partitions to your own HD for later if you need disaster recovery:

adb shell su -c "dd if=/dev/block/mmcblk0boot0 of=/sdcard/boot0block.img"
adb shell su -c "dd if=/dev/block/platform/omap/omap_hsmmc.1/by-name/boot of=/sdcard/stock-boot.img"
adb shell su -c "dd if=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery of=/sdcard/stock-recovery.img"
adb shell su -c "dd if=/dev/block/platform/omap/omap_hsmmc.1/by-name/system of=/sdcard/stock-system.img" # This will take a few minutes
adb pull /sdcard/boot0block.img
adb pull /sdcard/stock-boot.img
adb pull /sdcard/stock-recovery.img
adb pull /sdcard/stock-system.img # This will take a few minutes

Take those files and put them somewhere safe.

**** MAC USERS MAY NEED TO SPARSE THE FILES FOR RE-FLASHING TO THE DEVICE. I NEED A MAC USER TO PROBABLY WORK THROUGH THAT PROCESS AND I CAN POST BACKUP COPIES OF THE STOCK PARTITIONS FOR DISASTER RECOVERY ****

STEP 2: Download the files you will need to install 2nd-bootloader, TWRP and CM:

ON THE FOLLOWING DEV-HOST LINKS

USE THE BLUE "DOWNLOAD NOW" BUTTON

-- DO NOT INSTALL AN EXECUTABLE DOWNLOADER TO YOUR SYSTEM! --

I'LL LOOK FOR A BETTER HOST WHEN I GET MORE TIME.

Stack override file:

Mirror 1: Download "stack" from Dev-Host

[12/09] kfhd8-freedom-boot-8.4.6.img (USED ONLY THE FIRST TIME -- .zip files will have their own boot.img's from now on):

Mirror 1: Download "kfhd8-freedom-boot-8.4.6.img" from Dev-Host

md5sum: 8374cf88e75abda8c374044a1f0daa5f

[06/24] TWRP 2.8.7.0 recovery flash Image

Mirror 1: Download TWRP from Dev-Host

md5sum: a0c7533fd853849184850580350abd18

CM-12.1 for the Kindle Fire HD 8.9 (choose the latest version from):

Mirror 1: Downloads CM

Google Apps from Android File Host:

https://www.androidfilehost.com/?w=files&flid=25361 (Use 5.1 version!)

Download the older 8.1.4 bootloader file and flash to your device via fastboot:

Mirror 1: Download bootloader from Dev-Host

md5sum a56f24c0c01aaea4bf408bc710faadaa

(You SHOULD check this before using fastboot -- downloads CAN be corrupted)

Place the CM-12.1 ROM and the gapps .zip on your device in the /sdcard area

STEP 3. Install the stack override in /system:

ADB commands entered while booted up into STOCK *rooted* Amazon Kindle OS -- May need to enable ADB debugging in Settings:

[2013-08-21] edited the location where stack is placed on device due to permissions changes

adb push stack /sdcard/
adb shell su -c "dd if=/sdcard/stack of=/dev/block/platform/omap/omap_hsmmc.1/by-name/system bs=6519488 seek=1"

STEP 4. Stop the auto recovery update script (this file may or may not be present):

adb shell su -c "mount -o remount,rw ext4 /system"
adb shell su -c "mv /system/etc/install-recovery.sh /system/etc/install-recovery.sh.bak"
adb shell su -c "mount -o remount,ro ext4 /system"

STEP 5:

[ With the device powered off: Issue the following commands into your command/terminal window on your PC. Start with the first command and press enter. Then connect USB to the Kindle and power on ]

fastboot -i 0x1949 flash bootloader kfhd8-u-boot-prod-8.1.4.bin
fastboot -i 0x1949 flash boot kfhd8-freedom-boot-8.4.6.img
fastboot -i 0x1949 flash recovery kfhd8-twrp-2.8.7.0-recovery.img
fastboot -i 0x1949 reboot

*DONT RE-FLASH FREEDOM-BOOT.IMG LATER AFTER FLASHING CUSTOM ROMS -- IT'S FOR STOCK AMAZON OS ONLY / FIRST INSTALL ONLY*

** If everything was done correctly your Kindle will reboot and you will at first see the normal Kindle Fire ORANGE logo and then it will fade and come back as a BLUE logo. **

TO ENTER RECOVERY:

Press the left volume button (volume up) while the logo is still YELLOW and keep pressing until the logo turns BLUE. Wait a moment and you should enter recovery.

STEP 6:

CM-12.1 AND GAPPS INSTALLATION:

(OPTIONAL) Make a backup by selecting "Backup" and then slide your finger to the right on the "Swipe to Back Up"

Once complete use the pentagon "Home" icon in the upper right corner of the screen (next to the back arrow and terminal icon)

Now, select "Wipe"

Swipe the "Swipe to Factory Reset"

Use the "Home" icon

Select "Install"

Browse to the location on your device where you saved the CM-11.0 / GAPPS .ZIP files

Select the CM12.1 ZIP file in the list by touching it, then confirm it says the name of the CM-12.1 .ZIP file on the next screen under "File to flash:"

Select "Add More Zips"

Select the GAPPS ZIP file in the list by touching it -- make sure it says the name of the .ZIP again under "File to flash:"

Swipe the "Swipe to Confirm Flash", and wait for it to finish.

If the screen is blank at any time you can hit the power button to "wake up" the device

Once the flash is done, you'll see a "Home" and "Reboot" buttons at the bottom of the screen

Select "Reboot"

CONGRATULATIONS YOU NOW HAVE THE ABILITY TO INSTALL CUSTOM KERNELS / RECOVERY AND ROMS.

FLASHING BACK TO STOCK:

** FIND THE FILES WE BACKED UP IN STEP #1: ** OR Follow this thread's instructions:

http://xdaforums.com/showthread.php?t=2011126

**** MAC USERS MAY NEED TO SPARSE THE FILES FOR RE-FLASHING TO THE DEVICE. I NEED A MAC USER TO PROBABLY WORK THROUGH THAT PROCESS AND I CAN POST BACKUP COPIES OF THE STOCK PARTITIONS FOR DISASTER RECOVERY ****

Once you have these files (we'll name them boot.img/recovery.img and system.img for the purpose of these instructions, but they could be different on your system).

Plug in your fastboot cable and reboot so that you see the fastboot screen and enter the following commands:

fastboot -i 0x1949 flash boot [B]boot.img[/B]
fastboot -i 0x1949 flash recovery [B]recovery.img[/B]
fastboot -i 0x1949 flash system [B]system.img[/B] # This one will take a few minutes
fastboot -i 0x1949 reboot

THANKS TO:

fattire for finding the original bootloader exploit

verygreen for doing some initial work on the 2nd-bootloader and fixing bugs (and letting me copy some of his bootloader installation instructions)