Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,781,459 Members 37,956 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
eldarerathis
Old
(Last edited by eldarerathis; 11th August 2012 at 05:02 AM.)
#1  
Senior Member - OP
Thanks Meter 308
Posts: 154
Join Date: Jun 2010
Default [Bootloader][8/10/2012] FIREFIREFIRE Extended - Dualboot your KF

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.

Got an Android question? Stop by Android Enthusiasts!
The Following 51 Users Say Thank You to eldarerathis For This Useful Post: [ Click to Expand ]
 
eldarerathis
Old
(Last edited by eldarerathis; 11th August 2012 at 05:03 AM.)
#2  
Senior Member - OP
Thanks Meter 308
Posts: 154
Join Date: Jun 2010
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
CyanogenMod7 KANG
Gingerbread GAPPS for altboot partitions
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

Got an Android question? Stop by Android Enthusiasts!
The Following 9 Users Say Thank You to eldarerathis For This Useful Post: [ Click to Expand ]
 
ajd2416
Old
#3  
Senior Member
Thanks Meter 5
Posts: 102
Join Date: Aug 2010
Location: Chicago
Wooo hoooo, can't wait!!!!

Sent from my classic stock
__________________

Samsung Galaxy S 5
R.O.T.D. Mystery ND2 build v1.1
RECOVERY-Unofficial TWRP
------------------------------------------------
Amazon Kindle Fire
ROM- CM9 Reloaded 4.0.4 with #7 kernel
RECOVERY- TWRP Touchscreen Recovery
---------------------------------------------------------------
ASUS Transformer TF300t w/ keyboard dock
Rooted and UnLocked -STOCK
 
sthomas38
Old
#4  
Senior Member
Thanks Meter 532
Posts: 690
Join Date: Feb 2012

 
DONATE TO ME
Nice nice nice! Could you make a guide to change the updater-script for random ROM ?
 
eldarerathis
Old
#5  
Senior Member - OP
Thanks Meter 308
Posts: 154
Join Date: Jun 2010
Quote:
Originally Posted by Trojan38 View Post
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

Got an Android question? Stop by Android Enthusiasts!
The Following 6 Users Say Thank You to eldarerathis For This Useful Post: [ Click to Expand ]
 
animefun135
Old
#6  
Senior Member
Thanks Meter 14
Posts: 156
Join Date: Nov 2011
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
Old
#7  
Senior Member
Thanks Meter 532
Posts: 690
Join Date: Feb 2012

 
DONATE TO ME
Oh okay, I thought it was more simple, something like renaming partition names in the updater-script . Will take a look at it, thanks .
 
eldarerathis
Old
#8  
Senior Member - OP
Thanks Meter 308
Posts: 154
Join Date: Jun 2010
Quote:
Originally Posted by animefun135 View Post
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?

Got an Android question? Stop by Android Enthusiasts!
The Following 3 Users Say Thank You to eldarerathis For This Useful Post: [ Click to Expand ]
 
animefun135
Old
#9  
Senior Member
Thanks Meter 14
Posts: 156
Join Date: Nov 2011
Quote:
Originally Posted by eldarerathis View Post
What?
Nevermind
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?
 
eldarerathis
Old
#10  
Senior Member - OP
Thanks Meter 308
Posts: 154
Join Date: Jun 2010
Quote:
Originally Posted by animefun135 View Post
Nevermind
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.

Got an Android question? Stop by Android Enthusiasts!

The Following 3 Users Say Thank You to eldarerathis For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes