With the recent advent of a partially unlocked bootloader, we now have the ability to install custom kernels on the Amazon Fire TV. Custom kernels increase the possibility of bricking, so it’s more important than ever that we have a reliable way of booting into recovery to fix any issues that may arise from modifying the Fire TV. That’s why Rbox, the developer behind numerous Fire TV mods, has created a boot menu which allows you to choose whether you want to boot into recovery or normally boot the currently installed kernel.
Once installed, Rbox’s boot menu will display a selection screen with the following two options every time the Fire TV boots up: KERNEL and RECOVERY. Selecting the KERNEL option will boot the currently installed kernel (i.e., a normal boot), and selecting RECOVERY will boot into ClockworkMod Custom Recovery. Once the boot menu selection screen loads, you can use the up and down arrow keys on a connected USB keyboard to make a selection. If no selection is made within 5 seconds, the Fire TV will boot normally into the kernel.
Important: This boot menu will be required to install Rbox’s pre-rooted ROMs starting with version 126.96.36.199 and above. Also, be aware that installing any older (188.8.131.52 and below) pre-rooted custom ROM will remove the boot menu. So if you install an older (184.108.40.206 and below) pre-rooted ROM, you will need to repeat this entire guide to restore Rbox’s boot menu.
Warning: This is a very delicate process. There is a high chance of bricking your Fire TV if this guide is not followed precisely. Take your time and double check each step before proceeding to the next. If something goes wrong, comment below with what happened and include a copy and paste of the entire text from your command/terminal window. I’ll do my best to help.
- Your Fire TV must be rooted with BusyBox installed. It’s not enough that the BusyBox APK is on your Fire TV. Actually go launch BusyBox and ensure it says “BusyBox is installed to /system/xbin/” at the top.
- Unlock your Fire TV’s bootloader by following this guide. Your bootloader must be unlocked before proceeding with this guide or you WILL BRICK your Fire TV. If your bootloader is already unlocked, you do not need to unlock it again. (If you have ClockworkMod version 220.127.116.11.4 or above installed, then your bootloader is already unlocked)
- Install or update to ClockworkMod Custom Recovery version 18.104.22.168.4 or above. Do not proceed with this guide if your Fire TV is running stock recovery or ClockworkMod 22.214.171.124.3 or below.
- If you are following this guide in order to install Pre-Rooted ROM Version 126.96.36.199 or above (which requires this boot menu) your Fire TV should currently be running Pre-Rooted ROM Version 188.8.131.52. If it is not, you should go install it now. Pre-Rooted ROM Version 184.108.40.206 is not required to install this boot menu, but installing Pre-Rooted ROM Version 220.127.116.11 AFTER you complete this guide is a complete waste of time because Pre-Rooted ROM Version 18.104.22.168 will wipe out this boot menu and you’ll have to redo the entire guide. Pre-Rooted ROM Version 22.214.171.124 is required in order to install Pre-Rooted ROM Version 126.96.36.199 or above.
- Download Rbox’s boot menu .img file from here. Take note of the 32 random seeming characters labeled “md5sum” next to the file you downloaded. You will need to refer back to this later in this guide.
- Rename the file you just downloaded to bootmenu.img
- Connect to your Fire TV via ADB
- Transfer the bootmenu.img file to your Fire TV by running the following command:
adb push bootmenu.img /sdcard/
(Note: This assumes the bootmenu.img file you renamed in the above step is in the same directory as ADB, otherwise enter the full path to the file like this:
adb push C:\full\path\to\bootmenu.img /sdcard/
- Run the command: adb shell
- Run the command: su
(Note: If this is the first time you’ve ever run su, a pop-up will appear on the Fire TV and you need to select “Grant”)
- Run the command: /system/xbin/busybox md5sum /sdcard/bootmenu.img
If you get a message saying “sh: /system/xbin/busybox: not found”, then you don’t have BusyBox installed. Go sideload it now AND run it to complete installation. Then repeat this step.
- Check that the 32 random seeming characters outputted by the previous command exactly match the 32 characters labeled “md5sum” on the download page from step 5.
Only proceed to the next step if the numbers match exactly. If the numbers don’t match exactly, it means the file did not download or transfer intact. You therefore need to run the following 3 commands to cleanup the corrupted file and then restart this guide from step 5 (making sure to redownload the .img file):
- rm -f /sdcard/bootmenu.img
- exit (yes, twice)
- Run the command: mount -o remount,rw /system
- Run the command: mkdir /system/boot
- Run the command:
- Run the command: mount -o remount,ro /system
- Run the command:
- (Optional) Run the following command to delete the bootmenu.img file from the /sdcard directory:
rm -f /sdcard/bootmenu.img
Note: This is optional because you can choose to leave this file in your Fire TV’s /sdcard directory to make it easier to re-install Rbox’s boot menu in the future. If you skip this step, skip steps 5 thru 8 if you need to reinstall the boot menu in the future.
- Run the command: exit
- Run the command (yes, again): exit
- Restart your Fire TV by running the following command: adb reboot
- Your Fire TV will display a black screen for several seconds. This is normal. The screen may also flicker a few times. Eventually, you’ll see the boot menu selection screen.
- To test that everything installed correctly you should first not select anything and let the boot menu normally boot into the kernel by default. Then, once on the Fire TV home screen, connect a USB keyboard and restart your Fire TV. This time select “LAUNCH RECOVERY” and ensure that you can boot into ClockworkMod Custom Recovery.
How to Uninstall Rbox’s Boot Menu
Uninstalling is very easy. Simply install any pre-rooted custom ROM older than 188.8.131.52. Doing so will overwrite the boot menu with a standard boot configuration.