[Kindle Fire Android Development] eldarerathis:
Now that I'm satisfied with the results from the original testing thread, I'd like to announce the general public release of my modified version of the FIREFIREFIRE 1.2 bootloader. The main feature? You can dualboot two different ROMs! All of the downloads I'm providing are listed in the second post.

Standard disclaimer: I am not responsible for anything that happens to your Kindle Fire as a result of using this software. I designed this in my spare time, voluntarily, and choose to release it for others to hopefully enjoy. Although it has been safe throughout testing there is always a risk involved in modifying your device, including unpredictable and uncontrollable circumstances that I cannot prepare for. You have been given a fair warning.

Installation

You can install FFF Extended like you would any other bootloader:

Download the latest zipped binary from GitHub (links below).

Extract the u-boot.bin file from the zip. This is the bootloader.

If you already have a custom bootloader you can install from fastboot by rebooting into fastboot and executing fastboot flash bootloader u-boot.bin from a PC shell. You can also run this on your PC first and then reboot with your device plugged in; it should run when your device starts up fastboot.

If you do NOT have a custom bootloader, you can follow pokey9000's instructions for the original FFF:

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"

Done! The bootloader is installed.

Prepping for dualboot

Once the bootloader is installed, you can use it right away to boot into recovery or your normal ROM. In order to use your device to dualboot, though, you're going to need to do a little bit of up-front configuration.

NOTE: Backup the data on your sdcard partition. It will be formatted during the setup procedure.

Get into fastboot somehow and execute fastboot oem dualformat

Reboot your device into recovery mode.

Use your recovery to format/wipe your sdcard partition. This varies between CWM and TWRP, but it will be in the "wipe" or "advanced" menus.

Download altrom-format-all.zip and flash it from recovery to properly format your secondary partition set.

Your device should be ready to flash an alternate ROM now.

To return to a stock partition layout, connect your device to a PC, reboot into fastboot, and execute fastboot oem format from a PC shell. You will probably want to format your sdcard partition afterwards.

Installing alternate ROMs

If you want to install an alternate ROM, the ROM must be properly packaged to use the secondary partition set instead of the default ones. Normal ROMs will install ONLY to your regular partition slots.

I am currently providing one ROM, which is a CM7 KANG build and a GAPPs package for it. You do not need to do anything special to install the ROM, just flash it from recovery as you normally would (see downloads below).

If you want to install a new alternate ROM, you can flash the altrom-factory-reset.zip to perform a "factory reset" of your alternate partitions (it will wipe data2 and cache2).

You cannot currently make a nandroid backup of an alternate ROM install (unless you want to manually use 'dd' or something). This would require recovery changes which I may or may not try to implement at some point, or someone else is welcome to do it if they feel so compelled.

Each ROM will have its own boot, data, system, and cache partitions and they will share your sdcard (media) partition. They run completely separately, and modifications to the kernel, apps, system, etc of one will not in any way affect the other.

Using the boot menu

FIREFIREFIRE Extended listens for 5 seconds and starts up fastboot like FFF1.2 does, but when you press the power button it starts a new 2.5 second countdown and effectively changes the selected boot state. This provides more flexibility because it allows you to "cycle" between boot options instead of just being a one-shot thing. Note that there is a slight delay before the power button will accept input, but you can tell when it's ready when the LED fades from bright green to darker green. You can see a demo of the boot menu on YouTube here: http://www.youtube.com/watch?v=xV2Jtu3fDSM

Packaging alternate ROMs

If you're a ROM author and would like to package your ROM for alternate booting, please see the "how-to" page on my GitHub. Note that some ROMs seem to play more nicely than others, so you may experience some bugs when running your ROM from the alternate partition set. I'd be happy to try to help you out if I can, but I can't guarantee that I'll know the solution to your specific issues.

Downloads and Source

Downloads are provided in the second post. The source for FFF Extended is available on my GitHub and is licensed under the GNU GPLv2. I've also set up a few wiki pages on my GitHub with some additional information about the bootloader.

Credits

Thanks and appreciation to:

pokey9000 for all of his development, tutorials, etc for FIREFIREFIRE and omap4boot.

All of the people that helped me test this.

Everyone who's worked on the CM7 repos that my altrom version is built on, both for the KF specifically (whistlestop, IngCr3at1on) and the CM project as a whole.