FireTV Boot Menu 1.0

Search This thread

rbox

Recognized Developer
Apr 22, 2011
1,776
2,612
This is a boot menu that will allow you to select if you want to boot a kernel or reboot in to recovery. I highly recommend everyone install this so you always have a way to boot in to recovery in case of problems. Just like recovery, it will sit at a black screen for an abnormal amount of time before showing. It's something like 20 seconds. But once it shows, you will have 5 seconds to make a selection. It defaults to booting the kernel, but you can use the up down keys to change the selection. Once it hits 0, it will do whatever option is selected. You can also hit enter and it will do that right away.

Right now, this is a very rough version 1.0. I plan to add some more features to it and would like to hear feedback from people to see what they think about it.

As usual, this WILL void your warranty and I am NOT responsible for anything you do with this. Installing it properly won't brick your Fire TV. Of course, this requires root and unlock.

Installation

Install CWM version 6.0.5.1.4 or higher. You MUST VERIFY CWM is at least 6.0.5.1.4 and it works BEFORE proceeding. You WILL BRICK your Fire TV if you are not properly unlocked, and verifying 6.0.5.1.4 or higher is working will do that.

For the following instructions, replace bootmenu.img with whatever filename you downloaded from this post, for example firetv-bootmenu-1.0.img. Copy bootmenu.img to /sdcard (via adb or whatever). Then from adb shell run this: DO NOT COPY PASTE THE WHOLE THING, DO EACH COMMAND ONE AT A TIME.

Code:
su
mount -o remount,rw /system
mkdir /system/boot
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/system/boot/boot.img
mount -o remount,ro /system
dd if=/sdcard/bootmenu.img of=/dev/block/platform/msm_sdcc.1/by-name/boot

Once you have verified it is working, you can replace /system/boot/boot.img with whatever kernel you want. Whether it be the overclocked kernel, or a Fedora kernel, or something else. And you never have to worry about bricking or getting back in to recovery.

Notes

Flashing anything that updates boot.img will cause you to loose bootmenu support. All pre-rooted roms 51.1.4.0 and lower will do this. Anything past 51.1.4.0 will only support booting their kernels through this method. When flashing 51.1.4.0 or lower when using bootmenu, you must repeat the entire bootmenu installation procedure because those roms will overwrite the bootmenu.

Changelog and Downloads:

  • Nov 15, 2014 - 1.0 (md5sum: a8a3c28baafe43f354d92e6cc8b392d3)
 
Last edited:

AQKhanTheOne

Member
Mar 31, 2011
42
6
Hmm, tried this and didn't seem to do anything. It did sit at the black screen for a while but then no boot menu comes up. Tried rebooting normally and to recovery but either way no boot menu come up, just boots straight to recovery or to XBMC (I've set XBMC as my launcher).

I'm using your 6.0.5.1.4a recovery, bootloader partially unlocked etc.
 
Last edited:

rbox

Recognized Developer
Apr 22, 2011
1,776
2,612
Hmm, tried this and didn't seem to do anything. It did sit at the black screen for a while but then no boot menu comes up. Tried rebooting normally and to recovery but either way no boot menu come up, just boots straight to recovery or to XBMC (I've set XBMC as my launcher).

I'm using your 6.0.5.1.4a recovery, bootloader partially unlocked etc.

It's completely blank? I timed from 'adb reboot' to when the menu showed up and it was 24 seconds. Then you should see *something* on the screen, and then 5 seconds later it should reboot the firetv and then the kernel should start loading. 25 seconds after adb reboot, try hitting the down arrow and then waiting a few seconds. It should boot into recovery. Does that work? Also, are you using overscan in recovery?
 

AQKhanTheOne

Member
Mar 31, 2011
42
6
Yes completely blank. Actually it only sat at the blank/black screen the first time it rebooted after the install. After that each reboot to either recovery or to XBMC does not result in the long blank screen at all. Though there is the briefest lightening of the screen right before the white amazon logo comes up. And no, I'm not using overscan. The result of the install is below if that helps. It's likely I've made a mistake.

Code:
shell@android:/ $ su
mount -o remount,rw /system
mkdir /system/boot
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/system/boot/boot.img
smount -o remount,ro /system
u
dd if=/sdcard/bootmenu.img of=/dev/block/platform/msm_sdcc.1/by-name/bootmount -
o remount,rw /system
mkdir /system/boot
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/system/boot/boot.img
mount -o remount,ro /system
root@android:/ # mount -o remount,rw /system
root@android:/ # mkdir /system/boot
dcc.1/by-name/boot of=/system/boot/boot.img                                   <
20480+0 records in
20480+0 records out
10485760 bytes transferred in 1.939 secs (5407818 bytes/sec)
root@android:/ # mount -o remount,ro /system
root@android:/ # exit
 
Last edited:

rbox

Recognized Developer
Apr 22, 2011
1,776
2,612
Yes completely blank. Actually it only sat at the blank/black screen the first time it rebooted after the install. After that each reboot to either recovery or to XBMC does not result in the long blank screen at all. Though there is the briefest lightening of the screen right before the white amazon logo comes up.

Well it has no effect on recovery, just the main system. It should do it every time. Not quite sure why you aren't seeing it though.
 

rbox

Recognized Developer
Apr 22, 2011
1,776
2,612
I did rename the downloaded file to bootmenu.img to avoid having to change the name in the shell command. Don't know if that makes a difference.

No, the name doesn't matter. Try this version. It should have a solid blue background to start and then if you hit the down arrow it'll switch to red. Blue will boot the kernel, red will boot recovery.

EDIT: Okay. I reread your post and saw you included the output from the shell. Don't copy paste it all at once. Do the commands one at a time.
 
Last edited:

AQKhanTheOne

Member
Mar 31, 2011
42
6
No, the name doesn't matter. Try this version. It should have a solid blue background to start and then if you hit the down arrow it'll switch to red. Blue will boot the kernel, red will boot recovery.

EDIT: Okay. I reread your post and saw you included the output from the shell. Don't copy paste it all at once. Do the commands one at a time.

Okay, that did the trick! Now I get the colorful Rbox's Boot Menu with two options, Boot Kernal and Boot to recovery.

Thanks as always for all your great work!
 

o-I-c

Senior Member
Sep 6, 2013
331
64
Around Town
Well this looks like its going to be handy.
In with no issues Rbox and countdown

Idea: Press and hold key on the remote or keyboard to get to boot-menu (unsure if this can be done)
Press nothing boots to FTV

Thanks
 
Last edited:

rbox

Recognized Developer
Apr 22, 2011
1,776
2,612
Thanks a lot rbox. This works as described though I am not sure at this point what to do with it. I just installed it as you said it would be useful :)

My main goal with it was to always be able to get to recovery. Secondary goal is to easily use alternate kernels without risk of not being able to get back to recovery. Which really gets back to the main goal. A side effect is that people can load fedora kernels easy without having to screw around with their partitions.
 
  • Like
Reactions: to0

rbox

Recognized Developer
Apr 22, 2011
1,776
2,612
Im trying to wrap my head around how this works.. I get what we are doing, but wont flashing something (ie anything with a boot.img) with CWM overwrite the bootmenu?

That's very much correct. I think I'm going to make all my future prerooted images put their boot.img in /system/boot and not flash it to the boot partition.
 

mastafunk

Senior Member
Aug 31, 2011
406
450
Undisclosed Swamp Location, FL
That's very much correct. I think I'm going to make all my future prerooted images put their boot.img in /system/boot and not flash it to the boot partition.
Thanks for your quick reply. Glad I'm on the same page .. I'm working on a custom ROM and was thinking that was something i would address the same way but then thought for a sec maybe you had moded the newer cwm to just do that instead of flashing the boot.img.

EDIT
might want to put some more thought into doing that for the newer pre-roots as someone may flash back to an older one then flash forward and screw themselves.. maybe include some sort of checking in cwm? And maybe include a warning in the OP if they flash any pre-root they loose the safetynet of the bootmenu.img until applied again.
 
Last edited:
  • Like
Reactions: deepasadish

to0

Senior Member
Jul 27, 2007
133
15
Worked great for me. Thanks rbox for all of the support you've given this device!
 

ImCoKeMaN

Senior Member
Jan 8, 2007
213
54
so I ran the first commands and it looks like I have boot.img in /system:
root@android:/system/boot # ls -l
ls -l
-rw------- root root 1675264 2014-11-21 18:19 boot.img

My concern is that I don't have any free space in system at all:
/system 756M 756M 0K 4096

is this normal to be this tight on the 51.1.4.0 prerooted rom?
I have even removed WhisperplayCore.apk when I was trying to get the chromecast receiver app working (sadly looks like that's fruitless at this point, but that's a separate topic)

I haven't copied the bootmenu image over just incase there is an issue with that boot.img that may not have been a full copy or something. Just trying to be extra careful.
 

AFTVnews.com

Senior Member
Jul 22, 2014
490
374
www.AFTVnews.com
One tiny suggestion: Change the wording in your post "When flashing 51.1.4.0 or lower when using bootmenu, you must reflash bootmenu." to "When flashing 51.1.4.0 or lower when using bootmenu, you must repeat the entire bootmenu installation procedure."

The reason: After setting up bootmenu on my test device, I realized it was on 51.1.3.0 when I thought it was on 51.1.4.0. I installed 51.1.4.0 then re-read your note to "reflash bootmenu". I thought "ah simple, i'll just re-run the last dd step since everything is still in place." Of course, I forgot that installing 51.1.4.0 wiped out /system/boot/boot.img so when I put bootmenu in place I no longer had a stock boot image on the box. It was a simple fix (I just used bootmenu to get into recovery and reinstalled 51.1.4.0), but probably best to be explicit with the above sentence.
 
  • Like
Reactions: Y314K

Top Liked Posts

  • There are no posts matching your filters.
  • 23
    This is a boot menu that will allow you to select if you want to boot a kernel or reboot in to recovery. I highly recommend everyone install this so you always have a way to boot in to recovery in case of problems. Just like recovery, it will sit at a black screen for an abnormal amount of time before showing. It's something like 20 seconds. But once it shows, you will have 5 seconds to make a selection. It defaults to booting the kernel, but you can use the up down keys to change the selection. Once it hits 0, it will do whatever option is selected. You can also hit enter and it will do that right away.

    Right now, this is a very rough version 1.0. I plan to add some more features to it and would like to hear feedback from people to see what they think about it.

    As usual, this WILL void your warranty and I am NOT responsible for anything you do with this. Installing it properly won't brick your Fire TV. Of course, this requires root and unlock.

    Installation

    Install CWM version 6.0.5.1.4 or higher. You MUST VERIFY CWM is at least 6.0.5.1.4 and it works BEFORE proceeding. You WILL BRICK your Fire TV if you are not properly unlocked, and verifying 6.0.5.1.4 or higher is working will do that.

    For the following instructions, replace bootmenu.img with whatever filename you downloaded from this post, for example firetv-bootmenu-1.0.img. Copy bootmenu.img to /sdcard (via adb or whatever). Then from adb shell run this: DO NOT COPY PASTE THE WHOLE THING, DO EACH COMMAND ONE AT A TIME.

    Code:
    su
    mount -o remount,rw /system
    mkdir /system/boot
    dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/system/boot/boot.img
    mount -o remount,ro /system
    dd if=/sdcard/bootmenu.img of=/dev/block/platform/msm_sdcc.1/by-name/boot

    Once you have verified it is working, you can replace /system/boot/boot.img with whatever kernel you want. Whether it be the overclocked kernel, or a Fedora kernel, or something else. And you never have to worry about bricking or getting back in to recovery.

    Notes

    Flashing anything that updates boot.img will cause you to loose bootmenu support. All pre-rooted roms 51.1.4.0 and lower will do this. Anything past 51.1.4.0 will only support booting their kernels through this method. When flashing 51.1.4.0 or lower when using bootmenu, you must repeat the entire bootmenu installation procedure because those roms will overwrite the bootmenu.

    Changelog and Downloads:

    • Nov 15, 2014 - 1.0 (md5sum: a8a3c28baafe43f354d92e6cc8b392d3)
    2
    @rbox - is it safe if I am going to format /system partition in the recovery and will I going to lose the boot.img? I was going to re-install the latest pre-rooted rom. Just wanted make sure before I do it. Thanks

    PS. I already installed the boot menu.

    You should *NEVER* format /system. There is never any reason to do that.
    1
    Thanks a lot rbox. This works as described though I am not sure at this point what to do with it. I just installed it as you said it would be useful :)

    My main goal with it was to always be able to get to recovery. Secondary goal is to easily use alternate kernels without risk of not being able to get back to recovery. Which really gets back to the main goal. A side effect is that people can load fedora kernels easy without having to screw around with their partitions.
    1
    That's very much correct. I think I'm going to make all my future prerooted images put their boot.img in /system/boot and not flash it to the boot partition.
    Thanks for your quick reply. Glad I'm on the same page .. I'm working on a custom ROM and was thinking that was something i would address the same way but then thought for a sec maybe you had moded the newer cwm to just do that instead of flashing the boot.img.

    EDIT
    might want to put some more thought into doing that for the newer pre-roots as someone may flash back to an older one then flash forward and screw themselves.. maybe include some sort of checking in cwm? And maybe include a warning in the OP if they flash any pre-root they loose the safetynet of the bootmenu.img until applied again.
    1
    One tiny suggestion: Change the wording in your post "When flashing 51.1.4.0 or lower when using bootmenu, you must reflash bootmenu." to "When flashing 51.1.4.0 or lower when using bootmenu, you must repeat the entire bootmenu installation procedure."

    The reason: After setting up bootmenu on my test device, I realized it was on 51.1.3.0 when I thought it was on 51.1.4.0. I installed 51.1.4.0 then re-read your note to "reflash bootmenu". I thought "ah simple, i'll just re-run the last dd step since everything is still in place." Of course, I forgot that installing 51.1.4.0 wiped out /system/boot/boot.img so when I put bootmenu in place I no longer had a stock boot image on the box. It was a simple fix (I just used bootmenu to get into recovery and reinstalled 51.1.4.0), but probably best to be explicit with the above sentence.