yashsingh1/xdaforums huggingface dataset:
[Fire TV Original Android Development] Pro-me3us:
The media player power button will put the Cube to sleep, letting you wake the device with your FireTV remote.

If you want to do a full power down, your first screenshot is the way to go. Because the Cube will be fully powered off and offline, you'll have to press the Cube's action button to power it back on, rebooting FireOS.

To fully automate the process of turning the Cube off AND on, I'd use the 'reboot -p' to perform a proper Android shutdown, then cut the power to the Cube with a smart plug. Then turn the smart plug on to reboot the Cube.

You could also automate the power on and off process using a switchbot with the action button.

Select your Cube as your target, and only enter reboot -p for the adb shell command.
[Fire TV Original Android Development] remizik:
Ahhhh forgot the target!

It works perfectly now.

Giving power back to the cube powers it on automatically. And it doesn't turn on my AV receiver or the TV so it's perfect!

Thank you so much, you're a life saver
[Fire TV Original Android Development] remizik:
Actually it would be perfect if the Cube would turn on but would stay in the "soft" off mode like when I shut it down with the remote. But oh well, I guess I can just turn on the wifi plug when I need it instead of programming it
[Fire TV Original Android Development] Skel40:
I was trying to remove com.amazon.cloud9, com.amazon.hedwig, com.amazon.firebat, com.amazon.tahoe, com.amazon.bueller.photos, com.amazon.bueller.music for more memory rather than disable-user. If I did update those apps and uninstall them using Total Commander, would pm clear prevent it from having format issues?
[Fire TV Original Android Development] Pro-me3us:
Using Total Commander to uninstall all those apps you listed is ok. Run pm disable-user to disable the system partition copies afterwards.

The data formatting hypothetical only applies when using the -k variable (keep data) with pm uninstall command. I wouldn't worry about that example, it's rarely a problem.
[Fire TV Original Android Development] Tukufu52:
I tried to do this on my laptop & didn't have any real success with it, I kept getting no such file directory, on second command. Is this supposed to be done within the cube using remote ADB, or is it that my adb command prompt on my Windows 10 is only 32 bit, should I be using a 64-bit? I'm on the correct firmware to do both methods.

Anyone had any success in rooting the 3rd generation cube, on the proper firmware? Cause I've tried the commands that's advertised, & I'm not getting anywhere... Lol.
[Fire TV Original Android Development] Pro-me3us:
The first few steps that involve moving the required files to the Cube can be done a number of ways, so I left it open ended. Below is an example using ADBLink (ADBLink or ADBLink2 are fine), available for Windows, Mac, Linux. You can follow the steps with any ADB program.

1. Establish a connection to the Cube from your computer (tap 'new' button to enter IP address of Cube, then press 'connect' button).

2. Assuming you are trying to setup bootless Magisk, download gazelle_bootless_magisk_v1.1.zip from the third post. Exact the gazelle_bootless_magisk folder from the zip file into your ADBLink main directory.

3. Press the 'console' button in ADBLink to open a command line.

4. Type in the following commands

A) Copy the files to the Cube

adb shell mkdir /data/local/tmp/bin

adb push gazelle_bootless_magisk/* /data/local/tmp

B) Install Magisk Manager

adb shell pm install -r /data/local/tmp/magisk_manager.apk

C) Give all the scripts executable permissions

adb shell chmod +x /data/local/tmp/magisk-boot.sh

adb shell chmod +x /data/local/tmp/start.sh

adb shell chmod +x /data/local/tmp/bin/magiskinit

adb shell chmod +x /data/local/tmp/bin/gazelle_shrinker

At this point all the files are in place, and you can finish the steps in the third post.

NOTE: gazelle_shrinker is enough for most people. I'd only use bootless Magisk if you have an app that requires root access.

If you encounter any problems, post the error message. Also let us know what firmware version your Cube is on.
[Fire TV Original Android Development] Tukufu52:
Ok, I was using adb link, but not the commands you jus sent, gonna try it now. Thanks..😎

Ok, it installed Magisk manager, but it didn't root the cube. I have no problem with pushing the file to the right folder but when you do the commands nothing happens and I'm on the right firmware. I'll send you a picture with the commands are looking like on my PC and the firmware that I'm on.

After putting in the command it does install magic manager, but its not rooted.

Also, when you keep the four files inside of the folder and put it in its proper place it says can open files
[Fire TV Original Android Development] Pro-me3us:
The chmod error probably means the /data/local/tmp/bin folder wasn't created at the time the files were moved over. So do this manually

1. Make sure the bin folder is created on the Cube

adb shell mkdir /data/local/tmp/bin

2. Copy over gazelle_shrinker and magiskinit files to the bin folder

adb push gazelle_bootless_magisk/bin/gazelle_shrinker /data/local/tmp/bin/

adb push gazelle_bootless_magisk/bin/magiskinit /data/local/tmp/bin/

3. Give the two files executable permissions

adb shell chmod +x /data/local/tmp/bin/gazelle_shrinker

adb shell chmod +x /data/local/tmp/bin/magiskinit
[Fire TV Original Android Development] Tukufu52:
Lol, nope, that didn't make a difference.

When I type in the command to install magisk manager it installs but it's not rooted
[Fire TV Original Android Development] Pro-me3us:
This is saying that that the gazelle_bootless_magisk folder is not being found on your computer at

c:/adblink2/gazelle_bootless_magisk/ where you should have unzipped it.

Type c:/adblink2>dir and verify that the folder is there, as well as these 5 files:

c:/adblink2/gazelle_bootless_magisk/magisk_manager.apk

c:/adblink2/gazelle_bootless_magisk/start.sh

c:/adblink2/gazelle_bootless_magisk/magisk-boot.sh

c:/adblink2/gazelle_bootless_magisk/bin/magiskinit

c:/adblink2/gazelle_bootless_magisk/bin/gazelle_shrinker

However you want to do it, those five files need to be copied to your Cube here:

gazelle:/ $ /data/local/tmp/magisk_manager.apk

gazelle:/ $ /data/local/tmp/start.sh

gazelle:/ $ /data/local/tmp/magisk-boot.sh

gazelle:/ $ /data/local/tmp/bin/magiskinit

gazelle:/ $ /data/local/tmp/bin/gazelle_shrinker
[Fire TV Original Android Development] Tukufu52:
Ok, question, the 2 files in the bin folder are supposed to also be extracted with the other 3, or leave them inside of the folder? The two files that are in the bin folder I left them in the folder I didn't take them out to be amongst the other 3.
[Fire TV Original Android Development] Pro-me3us:
Those instructions assume the folder structure was preserved when unzipping gazelle_bootless_magisk.

If you unzipped all five files to c:/adblink2/gazelle_bootless_magisk/ instead, including gazelle_shrinker and magiskinit, then you need to manually move those two files to the correct location on your Cube.

adb push gazelle_bootless_magisk/magiskinit /data/local/tmp/bin

adb push gazelle_bootless_magisk/gazelle_shrinker /data/local/tmp/bin

adb shell chmod +x /data/local/tmp/bin/magiskinit

adb shell chmod +x /data/local/tmp/bin/gazelle_shrinker
[Fire TV Original Android Development] Tukufu52:
Their in the correct location. Magisk installed, no root. Would you happened to have a portable TWRP recovery that I can just flash an image or zip file on? Because for some reason, it's not working, & the instructions are not that difficult,

I've done more complicated things in this, but I would like to have my Cube rooted.
[Fire TV Original Android Development] Pro-me3us:
Booting TWRP isn't possible without a second bootloader exploit to disable signature verification.

After the files are in the correct locations on your Cube, test it.

1) Make sure 'Execute on boot' in Launcher Manager is UNCHECKED

2) Reboot the Cube

3) wait ~30sec, and run

c:/adblink2>adb shell

gazelle:/ $ /data/local/tmp/start.sh

Let that load (~10-15sec), then check Magisk Manager. Show me the output of step 3) if Magisk Manager doesn't show Magisk is running.
[Fire TV Original Android Development] Tukufu52:
Ok, I'm gonna get back on this project tomorrow, well later on today, cause its 4:05 am in NY. I'm going to make sure that each file is in the location that you sent me and take it from there and see what happens.. Thanks again, I'll keep you informed how it goes..

I don't have anything on launch on boot inside of launcher manager, but I do have the application, {Launch On Boot} to launch wolf launcher, when the cube turns on. So you're saying I need to turn that off? I have that on so when the cube turns on I can immediately go to an application called tduk update wiper. I launched this to make sure that the update doesn't happen and keep the cube where it's at before I start doing all these other command prompts
[Fire TV Original Android Development] Pro-me3us:
Firstly, have you disabled com.amazon.device.software.ota? What is the output of:

adb shell pm list packages -d

Secondly, the last steps of the instructions are automatically running the start.sh script with Launcher Manager, to initiate bootless Magisk. Be sure read that entire post to the end to avoid potentially bricking your Cube.

Bootless Magisk is a bit different than Magisk patching the boot image. I should have asked earlier, what do you need Magisk for?
[Fire TV Original Android Development] Tukufu52:
Ok. I wanted The Magisk root method instead of the temp root method because I've been using Magisk Root on a few of my other devices. My Extrons head unit in my Tahoe, my Samsung S20+ 5G, & I root all of the android boxes before I sell them. I'm an official IPTV reseller. I have no intentions of rooting this Cube but only for myself. I always had this old saying, if it isn't rooted, it ain't right. It gives you freedom on your device. Heading out to make some runs, when I get back I'll try the method that you told me to use

I haven't been able to permanently disable the OTA but what I did use was netguard VPN the method the tduk doctor told us to use. I have 2 3rd Generation cubes one of them cannot be rooted because it's at the latest version the one that I showed you is the one that's on the old version that can be rooted. When I get back I'll make attempts to try this root process again. In reality I'm only trying to block the over the air update without using the netguard VPN permanently, but at the same time I would like to have it rooted like my other vices. I remember back in the days before Magisk, we used Superuser by Chain fire, and different versions of Odin..😎

I still have the 1 & 2nd gen Fire tv boxes that came out years ago, when Kodi was the go to to watch movies. I rooted both of those too. But the method back then was a lot easier
[Fire TV Original Android Development] Pro-me3us:
I ask why you need Magisk, because unless there is a specific app(s) used regularly that requests SU, the extra strings that come with bootless Magisk may not be worth it. After reading over the rest of the instructions and warnings, try running the start.sh script.

Temp root is enough to disable package protections, allowing all apps to be freely enabled/disabled without root in the future. Instructions in the second post.

After package protections are removed, the custom launcher can be set with Launcher Manager's 'Old Method'. Then Launch on Boot is no longer needed.

The NetGuard DNS block is the only protection you have in place right now until the OTA package is disabled. Update Wiper won't actively prevent OTA updates.

If that 2nd Cube on PS7664 is within it's return period, I'd return it. Order a new Cube, and skip the forced registration update.
[Fire TV Original Android Development] Tukufu52:
Lol, that's just what I did for this third generation Cube that I just I bought. I hooked it up & when I saw it saying update, I unplugged the cat 5, hit the backup button & the menu button then logged in. That's why the new 3rd Gen cube I have is on the old firmware. Once we actually get this third gen Cube that I just purchased rooted, I'm going to do the Temp Root on another one. I can always sell the one that I have that's on the firmware that I can't be rooted, because I'm an IPTV reseller, I sell Android tv boxes, in the Fire Sticks once you log in with your username and password and give me the fire stick. I set them up with a yearly subscription for Kemo IPTV.

Either way sounds good. Temp Root, or Magisk Root, which ever one I can figure out & install.

I have a question, what's the command I would use if I wanted to change my Mac address on my Fire TV Cube 3rd gen? I know if the device was rooted you'd only have to install the application called Change My Mac, there's a Pro version, that let you put it in dark mode but the red application is good enough, & you can randomly change your Mac address, it actually picks out one for you every time. This works on the Android TV boxes that I sell, because they're easier to root.
[Fire TV Original Android Development] Pro-me3us:
It's probably using the ip command. The network device needs to first be disabled, change the MAC, then re-enable the device

gazelle:/ # ip link set wlan0 down && ip link set wlan0 address XX:XX:XX:XX:XX:XX && svc wifi enable

The above command changes the MAC for the WiFi adapter. Run it as root. Replace XX:XX:XX:XX:XX:XX with whatever HEX address you want. The MAC will reset to the original MAC after a reboot. To change the MAC on the ethernet adapter instead:

gazelle:/ # ip link set eth0 down && ip link set eth0 address XX:XX:XX:XX:XX:XX && ip link set eth0 up

To check the MAC address

gazelle:/ # ip link show

There is a quirk in FireOS that if you run the command remotely (eg from your Computer), WiFi won't automatically re-enable itself. You'll have to go into FireOS network settings and manually re-enable WiFi. If the command is run directly on the Cube it should re-enable WiFi on it's own.
[Fire TV Original Android Development] Tukufu52:
Thanks, Jus getting back in. I'm gonna try all of this tomorrow.

In order to be successful in changing the MAC address on the 3rd gen cube, does the cube have to be rooted, or temp root on the old firmware, or can these commands work on the 3rd gen cube on the latest firmware unrooted?
[Fire TV Original Android Development] Pro-me3us:
They have to be run as root. Temp root is enough.
[Fire TV Original Android Development] Tukufu52:
Ok. Only on the old firmware? Is there a way to change the MAC address on a cube that's running on the latest firmware that's out now, or can it only be done on the old firmware?
[Fire TV Original Android Development] Tukufu52:
I know I'm asking alot of questions, but I just want to know as much as I can beforehand. While in temp root, can I run a root application apk, instead of typing in a command prompt? This is something that would save me time for certain things I want to do.
[Fire TV Original Android Development] Pro-me3us:
I don't know of any way except with root. Temp root is available up to PS7652 on the 3rd gen Cube. No root on PS7664 (current firmware).

Temp root only spawns a shell prompt with root access. Granting apps root requests requires bootless Magisk.
[Fire TV Original Android Development] Tukufu52:
Ok, Lol. Its funny, I'm also a member of GLI net. What I do is I find drivers that I install on the router and I use a couple of command prompts in order to make an Android phone be seen as a modem to run the router without killing any data. I think that's a whole lot more difficult to do than this short amount of command prompts that you're showing to give either temp root or permanent root with magisk. But yet, nothing that I'm doing following the instructions that you have on here is working... 😂😂😂

I gonna keep messing with this for a moment cause I'm off today. I have a friend of mine who repairs laptops, & computers, I'm going to take this to him to see if it's something that I'm doing wrong, cuz I know if he can't figure it out, & it's doing the same thing that's happening with me it's a, then it's a different story. Lol.

Here the temp root file where its supposed to be, but all I get is no file doesn't exist

This must be a joke or something.
[Fire TV Original Android Development] Pro-me3us:
I'm not sure what you are trying to do now, run bootless Magisk or just gazelle_shrinker? For bootless Magisk to work, these four files need to be in these locations on the Cube

gazelle:/ $ /data/local/tmp/start.sh

gazelle:/ $ /data/local/tmp/magisk-boot.sh

gazelle:/ $ /data/local/tmp/bin/magiskinit

gazelle:/ $ /data/local/tmp/bin/gazelle_shrinker

Your screenshot isn't showing that.

Show the output of these two commands:

c:/adblink2>adb shell ls -la /data/local/tmp/

c:/adblink2>adb shell ls -la /data/local/tmp/bin/

The start script needs to run after the four files are in place

c:/adblink2>adb shell

gazelle:/ $ /data/local/tmp/start.sh

Don't run start.sh more than once per boot! If something doesn't work show the output from the command line, it's the only way I can follow what you are doing and possible causes for encountered problems.
[Fire TV Original Android Development] Pro-me3us:
The permission denial on start.sh is because it wasn't given execution permissions. gazelle-shrinker and magiskinit need to be moved to the correct location.

Give files execution permission:

c:/adblink2>adb shell chmod +x /data/local/tmp/start.sh

c:/adblink2>adb shell chmod +x /data/local/tmp/magisk-boot.sh

c:/adblink2>adb shell chmod +x /data/local/tmp/magiskinit

c:/adblink2>adb shell chmod +x /data/local/tmp/gazelle_shrinker

Move 2 files to correct location

c:/adblink2>adb shell cp /data/local/tmp/gazelle_shrinker /data/local/tmp/bin/

c:/adblink2>adb shell mv /data/local/tmp/magiskinit /data/local/tmp/bin/

Run start script

c:/adblink2>adb shell

gazelle:/ $ /data/local/tmp/start.sh

Show me the output of the commands above.
[Fire TV Original Android Development] Tukufu52:
It seems to have stopped at result 50
[Fire TV Original Android Development] Pro-me3us:
I don't remember if the script shows the spawned root shell. Open Magisk Manager, and check if it's active, make me a screenshot (hit cancel if asked to update). If not active, reboot the Cube and try it again.

c:/adblink2>adb shell

gazelle:/ $ /data/local/tmp/start.sh

If that still doesn't work, reboot the Cube and run

c:/adblink2>adb shell

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # /data/local/tmp/magisk-boot.sh

Show me the output
[Fire TV Original Android Development] Tukufu52:
Its not active. Gonna try the other comands you just sent
[Fire TV Original Android Development] Pro-me3us:
Assuming you ran the mv command rather than cp for gazelle_shrinker in the previous instructions.

Copy & paste:

c:/adblink2>adb shell

gazelle:/ $ /data/local/tmp/bin/gazelle_shrinker

gazelle:/ # /data/local/tmp/magisk-boot.sh
[Fire TV Original Android Development] Tukufu52:
Smfh, I went to the bathroom, & when I came out, it started updating, so I unplugged the cube to stop the up date, I plugged it back in not connected tonthe internet, & tried to do what I did before, hitting the backup button & the menu, but its still trying to update. Great..😒

How do I stop this from updating now???

Is there any way to stop this update, I unplugged it.

I specifically bought this thing just to do this and now it's updating and I can't stop it. Lol...

?????
[Fire TV Original Android Development] Pro-me3us:
Once the update has downloaded, and the device reboots there's no way to stop the update without a messy hardware intervention. It's beyond saving at this point.

I don't trust DNS blocking apps to block OTA updates long-term. The app only has to crash or fail to launch once for the device to update. Better to run through the instruction in the second post right away, use gazelle_shrinker to disable the OTA app.
[Fire TV Original Android Development] Tukufu52:
No kidding. That's why I was trying to find out from you how to permanently block that by rooting it, but the the instructions seemed to be straightforward but for some reason it wasn't working. Smh.

Thanks anyway. Lol..

I guess I'll send it back to amazon cause the sole purpose of purchasing it was to keep it from updating I already have one that has updated to the point why I can't do nothing but Watch What Happens when the updates come. I'll come back here once I get the other one again..

What a real waste of time...

I ordered another one, it will be here by Wednesday. Told him I was having problems with it and it got stuck updating. The crazy thing is all of a sudden now the screen is stuck on register so I put in my information and it's still stuck on register as if I'm putting in the wrong information. Can they actually send a bullet through to shut off the Fire TV Cube

Or is there a way I can factory data reset it while it's stuck on the register screen I'm still actually connecting to it with the IP address cuz I can make it do things with the application but it's stuck on a register screen

Is there an ADB command to factory reset the Fire TV Cube? Just curious because it's stuck on register your Fire TV cube, I'm putting the information in and it keeps on giving me the same thing.

Lol, so I contacted Amazon and told them that the cube is stuck on the update process, they said they'll send me a new one by Wednesday but as I'm looking at the cube still messing with it, them by its self, it went back to register screen, & this is all you get now. You can't register it now, even tho I'm not worrying about it, because I'm going to get another, one but it's stuck on the register screen. I found out how to factory data reset it through ADB Commands but to no avail this is what it's staying at right now, so I guess they have a way of sending a bullet through. 😂

So I'm assuming that once you tell them that you're returning it they can put a block on anyone registering their name to it just in case you decide to do something beside what you're supposed to do with it, that's why changing the Mac address will probably be a great idea if I can ever get it rooted. Didn't expect that to happen but I'll be returning this before the night's over at The UPS Store and I'll get back in contact with you after Wednesday

I'm definitely going to want to have this 3gen cube rooted now. Its on the way...😎
[Fire TV Original Android Development] Pro-me3us:
Start with the instructions in the 2nd post, and don't worry about Magisk to start. Read everything through in advance.

I'd also suggest reading through the 3rd post completely to avoid doing something that bricks the Cube with bootless Magisk. There is no recovery option if that happens.
[Fire TV Original Android Development] Tukufu52:
Ok, thanks for the heads up. Were gonna get it this time..😎

I noticed on the instructions for Bootless Magisk, it says mkdir. What is this, & the definition of it? I saw this on the ablink tool I was using.

What does the * mean on this line???

adb push gazelle_bootless_magisk/* /data/local/tmp/

Between the magisk & data??

Ok, I got the Qube, I'm on the correct firmware I launched a command prompt to keep it from updating temporarily and this is what I'm getting so far after trying to do the Temp Root

Failed to find pgd: Invalid argument. I going with the tem root set up. Why is it saying invalid argument fail to find pgd

I made sure the qube isn't gonna up date

I made sure the queue doesn't update while I'm doing all of the stuff this time and if I don't get it I will unplug the device I'm not walking to the bathroom or anything while this whole process is happening

Can you please tell me what this means now?????

Lol!!! 😂😂😂

The instructions couldn't be any simpler but yet it still doesn't work... 😂😂😂

Bro, I'm not having any luck with this. Lol..I'm following the instructions too.