[BOOT] FIREFIREFIRE 1.2 - bootloader with recovery selection
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.
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
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)
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:
Code:
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.
I can't remember what the device was doing before the update but now if I try adb commands for recovery, bootloader, and fastboot, it looks like there is some response. I don't actually get in to recovery but it looks like maybe the device is rebooting in to fastboot. I don't have a ton of experience with this but just figured it was worth mentioning.
So will this still work with 6.2? I'm confused. Anyway, this is awesome! Just what we needed
Sent from my ADR6400L using Tapatalk
I just need to debug it. For some reason even the u-boot that comes with the 6.2 source drop doesn't respect the new NVRAM layout. This is just a proof of concept since TWRP is still AWOL, so don't worry. I plan to make the button handling a little more robust, including a way to select recovery or fastboot with just the button so you can ditch the Fire ROM altogether.
I can't remember what the device was doing before the update but now if I try adb commands for recovery, bootloader, and fastboot, it looks like there is some response. I don't actually get in to recovery but it looks like maybe the device is rebooting in to fastboot. I don't have a ton of experience with this but just figured it was worth mentioning.
I noticed that too. I tried building the u-boot from the 6.2 source drop and it doesn't detect when I set the bootmode either, but the one in the update .bin does.
I just need to debug it. For some reason even the u-boot that comes with the 6.2 source drop doesn't respect the new NVRAM layout. This is just a proof of concept since TWRP is still AWOL, so don't worry. I plan to make the button handling a little more robust, including a way to select recovery or fastboot with just the button so you can ditch the Fire ROM altogether.
Sounds great, looking forward to seeing the finished product.
BTW, have you been in touch with agrabren from TWRP? He is the one kinda spearheading the KF TWRP project and I think one of the issues was not having a reliable method for booting to recovery; if that is the case you have obviously done a lot of work towards solving that problem.
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?