[Fire TV Original Android Development] bnevets27:
This was inspired by the ROM @burcbuluklu made for mantis (4k). Creating this image took a lot of time and effort to figure out. One key difference I was aiming for, was for you, the user to not need to use an OTG adapter and keyboard to complete the setup and pair the remote. I also wanted the user to go through the standard setup (OOBE), including setting up the equipment controls, if applicable. I finally managed to accomplish both.

Please understand what this process entails. I've tried to provide as much info and guidance as possible but you should have a good understanding of the basics (TWRP, rooting, etc).

This has only been used by me thus far. While I've done many restores on a few sticks multiple times to ensure everything goes smoothly, consider this

BETA

as it hasn't been tested by others. If you are comfortable with getting yourself out of trouble, please try this out and report back.

So far there doesn't seem to be any report of this ROM causing issues thus far, so it could be considered stable now.

You do this at at your own risk. No warranty is explicit or implied. With that out of the way.

Some Info:

Android Version: 9

Fire OS Version: 7.2.4.9

TWRP Version: 3.6.1_9-0

Magisk Version: 25.1.FTV

Launcher: Wolf Launcher

Internal Storage after installation: 3.41 GB

Netflix works

Screenshot:

View attachment 5752495

Requirements:

Computer

Firestick

Possible with:

Just a Computer

Possibly easier with some or all of the following:

TV or Monitor

OTG Adapter

USB Hub

USB Keyboard/Mouse

USB Stick Formatted Fat32

Before we start:

Be aware that your warranty will be void.

Backup your files.

All of your apps will be wiped. Technically the "data partition" / "sdcard" will not be wiped but it should be a backed up just incase

Root - How to root

If not 3rd Gen (Sheldonp) then convert to Sheldonp, see:

Convert Lite (Sheldon) to Sheldonp (3rd Gen)

Sheldon = Fire TV Stick Lite - 1st Gen

Sheldonp = Fire TV Stick - 3rd Gen

if you aren't sure, you can check with this command from adb:

adb shell getprop ro.product.device

Confirm stick is on 7.2.4.9 or flash stock rom, see:

Flash stock ROM

To check which version you are on:

Go to Settings > My Fire TV > About > Software Version

or, from adb (doesn't work in TWRP)

adb shell getprop ro.build.version.name

Restore TWRP image from this thread

Use OTG adapter, a USB hub, a USB stick and a mouse

Extract the zip attached to this thread to the following path: /TWRP/BACKUPS/7.2.4.9/

Mount the USB stick in TWRP

Go to restore and select storage

Find the folder with the unzipped files

Swipe to Restore

or, if you don't have an OTG adapter (Only a computer is needed)

See:

How to Restore without OTG

or, if you don't have a USB Hub and USB Stick but have an OTG adapter

See:

How to Restore without USB Hub and USB Stick

Most will skip this step. If you want to skip OOBE, see:

Option to Skip OOBE (Amazon registration)

Reboot system

First boot will take a little while, be patient.

On screen will say, press play on the remote.

Press play, if it does work right away, press it a few times, if that doesn't work, hold it for a second or two

if that doesn't work

Hold home button for 10 seconds, then press play

Setup WiFi

It will try to update but fail (as the amazon servers are blocked in the host file)

Once it fails hold the back key and menu button at the same time for a few seconds, as outlined here

Once Voice View is displayed, press the back button

Now sign in and continue through the setup as normal

Once the setup is complete you will end up on the launcher (wolf launcher in this case)

Give the stick a full minute or so and it will reboot itself. If after a few minutes it does not, reboot it.

When it reboots, the stick will have been debloated

It's ready to use

Note:

Screensavers

Backdrop is enabled by default

Backdrop = Chromecast screensaver

Aerial Views is installed and can be enabled in the settings

Aerial Views = Apple TV screensaver

Warning: Aerial Views uses a lot of bandwidth (it plays video constantly). I would not suggest using it if you are on a limited data usage.

More debloat

If you would like to disable more bloat/amazon apps, use the debloat toolbox found in the system folder

select what you want to debloat, then select play (top right)

Less debloat

If you want to remove all the debloating, use the debloat toolbox found in the system folder.

Select all, then select all again (until nothing is checked), then click play (top right)

Re-bloat to "stock"

If you want to go back to how the stick was bloated when it was first setup

Go to magisk > modules, then enable "FireTV/FireOS 7 Debloat"

Reboot, give it a minute and it will reboot itself, it will now have been debloated

Important: Never install magisk updates from magisk. Use TWRP.

If you want to create TWRP backup, select "System Image" and "Vendor Image" instead of system and vendor. <- Thanks @burcbuluklu

Suggestion: FX Web Access makes it easier to transfer files.

Remote Button Changes

Holding the back button will kill the foreground app

Holding the home button will kill all background apps

Holding the menu button will bring up the "HUD"/quick settings. By default this was assigned to the home button

Remapping buttons

Open system folder on launcher home screen

Click "xposed edge" (green rectangle with < )

Select "Keys"

Now click on the button you want to change

Note:

The button must have the green check mark or the changes will have no effect

Clicking the checkbox must be done with a mouse, either with OTG or through adb + scrcpy (Flakie's ADB GUI or ADBLink)

Remapping "extra" buttons

You can assign whichever app you like (or any other option) to the additional buttons on the remote. This has been setup for the remote with the following buttons: Prime Video, Netflix, Disney+, Amazon Music. If your remote is different you will have to add the buttons to xposed edge, see:

To add buttons to exposed edge

The following is which "app" is mapped to which button on the remote:

KEYCODE_APP_1 = Netflix

KEYCODE_APP_2 = prime video

KEYCODE_APP_3 = Disney+

KEYCODE_APP_4 = amazon music

Note: You can not remap a button if the app associated with that button is installed or enabled. You must either uninstall or disable the app first. The amazon apps can be disabled via the debloat tool.

To add buttons to exposed edge:

A mouse (via OTG or Flakie ABD GUI/ADBLink) is needed to check the check boxes/enable the mapping, it's also needed to click OK when adding a button to be mapped

Steps to get button added:

Click “+”

Press button on remote

This will open the app or some sort or dialog

Press back button on the remote, once only

Use the mouse to click ok

Convert Lite (Sheldon) to Sheldonp (3rd Gen)

From twrp recovery or adb

adb shell resetprop ro.product.device sheldonp

Flash stock ROM

Get stock ROMs from here

If you are blocking updates to your fire tv sticks on your router, you may need to remove “d1s31zyz7dcc2d.cloudfront” from the block list. Careful your other sticks don't update, if you have others connected to the same network.

Rename *.bin to *.zip

Boot to recovery/TWRP

If using OTG + USB,

Navigate to wipe

"Wipe to Factory Reset"

Mount USB

Select Mount

Check Storage 1

Install img

Go to install

Select storage

Storage 1 > Ok

Navigate to the 7.2.4.9.zip > Click it

"Swipe to confirm Flash"

Delete the zip by going to Advanced > File Manager

or, from adb

adb push name_of_file.zip /sdcard

adb shell

twrp wipe cache

twrp wipe dalvik

twrp wipe data

twrp wipe system

twrp install /sdcard/name_of_file.zip

rm /sdcard/name_of_file.zip

Boot to FireOS (Not sure if this is necessary but no harm, it will take a while, but will land on the setup screen)

Reboot to TRWP

To reboot to TWRP

with OTG and mouse to click cancel

or

Run the command in linux as outlined in the rooting thread

Hint: ./boot-recovery.sh

Option to Skip OOBE (Amazon registration)

There are things that will not work if you skip OOBE. I do not know the extent of what is non-functional when OOBE has been skipped, but here is what I've seen off hand.

Won't work if you skip OOBE:

Manage Applications

More to be added as found

How to skip OOBE

After restoring the TWRP backup

Install the "skip-OOBE.zip" via TWRP

Reboot system

You will end up on the custom launcher home

You will either need an OTG adapter, or to plug the stick into a computer and use adb + scrcpy. You can use Flakie's ADB GUI or ADBLink to help with that. You may be able to use the fire tv remote app on a mobile device but this has not been tested.

Navigate to the settings by holding enter on one of the icons

Go to Android settings

Remotes > Amazon Fire TV Remotes > Add New Remote

Enter = the Ok button, when asked to click ok on the "old" remote

Done!

How to Restore without USB Hub and USB Stick

* Probably just as easy if not easier to just used the "

How to Restore without OTG"

option

Plug the firestick into the computer, run the following via adb:

adb shell
twrp mkdir /sdcard/TWRP/BACKUPS/7.2.4.9
exit
adb push data.ext4.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push data.ext4.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb shell
twrp wipe cache
twrp wipe dalvik
twrp wipe data
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9

rm -r /sdcard/TWRP/BACKUPS/7.2.4.9/*
exit

adb push system_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push system_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9

Plug the OTG in and get back to TWRP and restore the remaining partitions, via the GUI with the mouse. Delete the /sdcard/TWRP/BACKUPS/7.2.4.9 folder using the file manager

How to Restore without OTG

Plug the firestick into the computer, run the following via adb:

adb shell
twrp mkdir /sdcard/TWRP/BACKUPS/7.2.4.9
exit
adb push data.ext4.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push data.ext4.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push boot.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb shell
twrp wipe cache
twrp wipe dalvik
twrp wipe data
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9

rm -r /sdcard/TWRP/BACKUPS/7.2.4.9/*
exit

adb push system_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push system_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win /sdcard/TWRP/BACKUPS/7.2.4.9
adb push vendor_image.emmc.win.md5 /sdcard/TWRP/BACKUPS/7.2.4.9

adb shell
twrp restore /sdcard/TWRP/BACKUPS/7.2.4.9
rm -r /sdcard/TWRP/BACKUPS/7.2.4.9/*
reboot

Apps included in this ROM

Google Play Store

LanuchManager (FireOS)

Wolf Launcher

DEBLOAT TOOLBOX (FireOS 6 & 7)

Aerial Views – (AppleTV screensaver)

Backdrop – (Chromecast screensaver)

FX – File Manager

Internet Speed Test

Plex

Disney +

TiviMate

IPTV Smarters Pro (Backup/secondary for TiviMate)

SmartTubeNext

Power Menu

Magisk

LSPosed

Xposed Edge Pro

Termux

YASNAC

Tweaks

build.prop - from Skel40

default.prop - disabled adb secure

host - added amazon servers to block updates

Set to never sleep

Installed Google Play store by following: [GUIDE] Google Play Store on rooted Fire TV (Systemless / microG) for v2, and [ROOT] [Guide] Google Apps Install + Pass Safetynet + Help/Extra Info (Sheldon/p) for v1

Universal SafetyNet Fix and MagiskHideProps (Using MiBox S device fingerprint)

Magisk module to debloat and enable customer launcher after OOBE is complete

Magisk module to disable OOBE, if you chose to install it

Button remapping as outlined above

Developer options and USB debugging enabled

OTA updates disabled

The future:

I may release another version in the future without the Google Play store installed. I also am not sure which "version" of the play store I prefer (open to suggestions one way or another)

For v1 (my naming scheme) I used this guide: [ROOT] [Guide] Google Apps Install + Pass Safetynet + Help/Extra Info (Sheldon/p)

For v2 (my naming scheme) I used this guide: [GUIDE] Google Play Store on rooted Fire TV (Systemless / microG)

I've used "v2" for this first image.

I did some side by side testing. They were as scientific as I could make them but it is hard to get 100% repeatable results. But ranked from fastest to slowest was:

No playstore

Playstore v2

Playstore v1

While there was very minor difference between v1 and v2. No playstore seemed to at least have a somewhat noticeable and repeatable speed advantage, though it is still quite minor.

Guides and apps that made this ROM possible

[Guide] [ROM] (mantis) Fire TV Stick 4K Prerooted Android TV Rom (6.2.7.6)

[UNLOCK][ROOT][TWRP][UNBRICK] Fire TV Stick 3 and Fire TV Stick Lite (sheldon/p)

Fire TV Stick 4K/Lite/3rd Gen Build.prop Tweaks (Works with latest FireOS) (Need Root)

[APP][FIRETV][NOROOT] Launcher Manager (Change Launcher without Root)

Fire TV Stick Lite/3 (sheldon/p) Firmware

[GUIDE] Google Play Store on rooted Fire TV (Systemless / microG)

Magisk 25.1 for Fire TV

[ROOT] [Guide] Google Apps Install + Pass Safetynet + Help/Extra Info (Sheldon/p)

Universal SafetyNet Fix

MagiskHideProps

LSPosed

FakeGApps

Amazon Fire TV Stick 4K Firmware and apps

Fire TV Stick Lite/3 (sheldon/p) Firmware

Thanks to:

@SweenWolf

@tsynik

@Skel40

@Flakie

@Tech0308

@t3chg33k

@burcbuluklu

@k4y0z

exoteric.roach.org - for the wallpaper

@PesiCC - for pointing out how to TRWP restore only some partitions

and to the many more whom I used the information they posted on xda and throughout the web.