• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[Bootloader][8/10/2012] FIREFIREFIRE Extended - Dualboot your KF

Search This thread

eldarerathis

Senior Member
Jun 21, 2010
159
316
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:
    Code:
    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.
 
Last edited:

eldarerathis

Senior Member
Jun 21, 2010
159
316
Downloads

These are various downloads provided by me. If you get a ROM from somewhere other than this post, I didn't package it. So if you have bugs, talk to the ROM author first :)


Bootloader

Latest version: GitHub, Mediafire (md5 of the u-boot.bin: 89df8d45262a92061c461e8ff134286a)
All versions: GitHub


Setup/Maintenance Files

altrom-format-all.zip (reformats all secondary partitions, flash from recovery)
altrom-factory-reset.zip (factory reset for your secondary partitions, flash from recovery)


My altboot ROMs


Bugs in this ROM: Unpredictably hangs on boot very occasionally (once every 5 or 6 boots, maybe?). Rebooting fixes it.


Kernels

IntersectRaven's 2.6.35.14 CM7 kernel, repackaged for altboot partitions (Thanks IR!): http://www.mediafire.com/?6b5545b55tx5jwd
 
Last edited:

animefun135

Senior Member
Nov 28, 2011
156
14
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.


I think this is not so easy, you'll need to compile a source code of random rom.
 

sthomas38

Senior Member
Feb 9, 2012
695
524
Oh okay, I thought it was more simple, something like renaming partition names in the updater-script :p. Will take a look at it, thanks :).
 

eldarerathis

Senior Member
Jun 21, 2010
159
316
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.


I think this is not so easy, you'll need to compile a source code of random rom.

What?
 

eldarerathis

Senior Member
Jun 21, 2010
159
316
Nevermind :eek:
I've installed your bootloader and running altcm7 rom, but if I want flash cm7 or cm9 kernels - how to determine to whom it is intended?

If you mean "how do I know where it will install?" then it's all based on how it's packaged. Unless the ROM/kernel author packages the zip for the alternate partitions and specifically says that's what it's for, it will install for your regular ones. So everything is for your primary ROM unless otherwise noted by the author.
 

pmdisawesome

Senior Member
Jan 23, 2012
273
70
I am kinda new to all of this so this is maybe a noob question!
I have Flashed FFF extended, but before Formatting my SD Card, I am just having some simple question: Would running 2 ROMs on my Kindle Fire be really heavy, we have a 8Gb of storage in your Kindle Fire and how much would it take out of the 8Gb? Is it acceptable for a "user" such as myself, I mean I will still have space to storage my personal data

Thanks!
 

eldarerathis

Senior Member
Jun 21, 2010
159
316
I am kinda new to all of this so this is maybe a noob question!
I have Flashed FFF extended, but before Formatting my SD Card, I am just having some simple question: Would running 2 ROMs on my Kindle Fire be really heavy, we have a 8Gb of storage in your Kindle Fire and how much would it take out of the 8Gb? Is it acceptable for a "user" such as myself, I mean I will still have space to storage my personal data

Thanks!

Of the 8 GB, about 6 is usable by you normally, and 1 GB of that is reserved for apps leaving ~5 GB of general storage space (the "sdcard" partition). You'll end up with about 1 GB of data space (e.g. apps and the like) per ROM and 3.6 GB of general storage space using FFFE.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 48
    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:
      Code:
      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.
    8
    Downloads

    These are various downloads provided by me. If you get a ROM from somewhere other than this post, I didn't package it. So if you have bugs, talk to the ROM author first :)


    Bootloader

    Latest version: GitHub, Mediafire (md5 of the u-boot.bin: 89df8d45262a92061c461e8ff134286a)
    All versions: GitHub


    Setup/Maintenance Files

    altrom-format-all.zip (reformats all secondary partitions, flash from recovery)
    altrom-factory-reset.zip (factory reset for your secondary partitions, flash from recovery)


    My altboot ROMs


    Bugs in this ROM: Unpredictably hangs on boot very occasionally (once every 5 or 6 boots, maybe?). Rebooting fixes it.


    Kernels

    IntersectRaven's 2.6.35.14 CM7 kernel, repackaged for altboot partitions (Thanks IR!): http://www.mediafire.com/?6b5545b55tx5jwd
    6
    Nice nice nice! Could you make a guide to change the updater-script for random ROM ? :)

    Check out the wiki page on GitHub. If you think it could use expansion feel free to let me know :)
    6
    New version is up! Sorry for all the delays. You can get it on my GitHub or on Mediafire. The source is also on GitHub (of course):

    GitHub link: https://github.com/downloads/eldarerathis/FIREFIREFIRE-Multiboot-PoC/kf-multibootv3.zip
    Mediafire link: http://www.mediafire.com/?jiz01ndzluao6ao

    The md5 for the u-boot.bin file (*not* the zip file, the binary) is 89df8d45262a92061c461e8ff134286a

    Flash the bootloader as per the instructions in the first post. This version includes Hashcode's bugfixes as well as new splash screens that hopefully most people will find less ugly. All other functionality is unchanged.

    I'm also attaching some screenshots for those interested in taking a peek at the new splash screens before installing it. I'll be updating the first/second post for the new release as well.

    Enjoy :)
    4
    Use at your own risk!!!!!

    Ok, here it is. All I can say is that it works on mine. Sometimes it doesn't register the first button press on the boot screen after the green LED dims.

    No warranties or guarantees expressed or implied. IF your Kindle bursts into flame or otherwise behaves in an unexpectedly odd manner, I can't help you. I take zero responsibility for any damage to you, your psyche, your device, or the environment due to the use of this binary.

    That said, good luck and enjoy if it works for you.

    EXTRACT THE BIN FROM THE 7z. DO NOT TRY TO FLASH THE 7z. BAD THINGS CAN/WILL HAPPEN!

    Edit: checksums

    md5: 940d28bebbba2ea9376f1fbfa420b387
    sha1: 30b5a5b16c6657e7481cbdf1f1d4068771afef31