[Kindle Fire Android Development] pokey9000:
[YOUTUBE]0Gc5i6XXvEo[/YOUTUBE]​

This is a replacement bootloader so you can get into recovery with just the one power button. It's very simple to use, just turn on the Fire, and when the logo pops up press the power button.

FIREFIREFIRE also makes fastboot easy. For a few seconds on every boot, fastboot is enabled; no idme bootmode or special cable needed. The USB ID is changed to one that's supported by even the oldest fastboots. Unlike the stock, you do not need to use the "-i 0x1949" on every run of fastboot.

Now FIREFIREFIRE can fix your partition tables. "fastboot oem format" will overwrite the partition table with the stock table. You can use this to revert to factory partitioning if you have been messing with parted or the like, or can be used with the USB boot kit (Rekindle) to manually rebuild a totally bricked Fire. Running this command on 1.0 or earlier will fail.

Release notes:

1.2 - MD5: a8c8d702606de8ab7e73b898de50b4b6 u-boot.bin

Merge in 6.2->6.2.1 changes: low battery charge safety shutdown, official offsets for NVRAM params

The power LED now tells you more stuff: dim slightly while in fastboot / ready to detect recovery button press, bright green again when the boot of standard OS starts, more orangey orange when recovery starts

Fix Amazon's broken LED code

1.1 - MD5: 7a4f1a2ff60b13a3534df318f99d813c u-boot.bin

Fixed the built-in partitioning to match the partition map on a stock KF

Removed USB PID version. Realized this would screw up Windows. VID:PID will always be 18d1:0100 from now on

1.0

Fastboot USB VID switched to Google's VID. Once this is installed you don't need to use "-i 0x1949" on every fastboot command

USB PID reflects the version. 0x0100 is version 1.0, 0x0402 is 4.2, etc

0.9

New logo with "press power button for recovery" message at the bottom

Delays ~10 seconds if no button pressed, but pushing the button immediately goes into recovery

During the delay, you can connect with fastboot. Works under Linux, but the delay may be too short for Windows

Howto flash

The TWRP installer flashes FFF 1.0 when it's run. For most purposes this is ok, but because TWRP has been orphaned, I can't recommend it as a way to get the latest. By the time you read this, KFU should support flashing FFF, and for Windows users is by far the easiest way.

Howto flash by hand

Get into fastboot mode somehow. Having and older FFF from the TWRP installer is a good start. Currently KFU or fbmode is the easiest

flash with "fastboot -i 0x1949 flash bootloader u-boot.bin" (take out "-i 0x1949" if FFF is already installed)

disable fastboot: "fastboot -i 0x1949 oem idme bootmode 4000"

reboot: "fastboot -i 0x1949 reboot"

Howto backup EVERYTHING (on Linux):

(not relevant in this post anymore, but good reference)

This will back up all partitions and the hidden NVRAM data. If you ever have to restore from scratch, you can get fastboot to write a new partition table and then fastboot in these backups

Need >8GB local free, and adb installed and able to get a shell.

Make a new directory to store the dump files and cd into it.

Make sure that your KF is running adb as root. As of 6.2.1 this requires running BurritoRoot, then "adb root" on your PC after it completes.

Then run in a terminal:

for F in `seq 1 12`; do adb pull /dev/block/mmcblk0p$F; done
adb shell idme ? > nvram.txt

On a brand new KF, this backup will bzip2 down to ~300MB. Once you start writing to the flash, this will go up even if you delete files due to nonempty free blocks.

github is now up at https://github.com/pokey9000/kf_u-boot