Home > Root

How to Root any MediaTek ARMv8 Device

In this guide, we will show you the steps to root your MediaTek ARMv8 device. It is no hidden secret that MediaTek or MTK devices take a slightly different approach when it comes to the custom development domain. Right from unlocking the bootloader to flashing custom binaries, the instruction steps, more often than not, takes a slightly different approach. The usual root method involves either flashing the Magisk App via TWRP or patching and flashing the stock boot.img via Fastboot.

While it is still applicable on some MTK devices, but there are a plethora of others that don’t take this route. More often than not, these are the devices with the underlying MT67xx, MT816x, and MT817x chipsets. Since there are a plentitude of such devices, it becomes a really challenging task in gaining administrative privileges. But thanks to the open-source nature of the Android ecosystem, the developers always manage to find a workaround. And such is the case this time as well.

A couple of years back, XDA Senior Member diplomatic managed to root the Amazon Fire HD without the need of any hardware mod (which, until that point was a major prerequisite). Then he went onto discover that the tweak wasn’t only limited to Amazon Fire HD but to near-about every phone having MediaTek’s 64-bit chipset. And this was enough to send the tech community in a frenzy. So in this guide, we will be using that same exploit to root your MediaTek ARMv8 device. Follow along.



How to Root any MediaTek ARMv8 Device

root mediatek armv8 device

First off, the instructions are applicable on devices running Mediatek MT67xx, MT816x, MT817x, or MT6580 chipsets only. Furthermore, the below steps will give you a working adb shell with root privileges. So what does it mean? Well, it means that its role is not to give root permissions to any app installed on your device. Rather it gives you the command shell that comes with the root and administrative capacities. You could execute the desired root command inside that shell.

With that said, there exists a method to install the Magisk Manager app on your device and manage the root capabilities for third-party apps- all on a locked bootloader! If you are interested in checking that out, then you may refer to our detailed guide on. Droidwin and its members wouldn’t be held responsible in case of a thermonuclear war, your alarm doesn’t wake you up, or if anything happens to your device and data by performing the below steps to root your MediaTek ARMv8 device.

STEP 1: Download Android SDK

To begin with, download and install the Android SDK Platform Tools on your PC. Then extract it to any convenient location on your PC. This shall give you the platform-tools folder. We will be using it throughout this guide, so keep this folder open.

STEP 2: Enable USB Debugging

Next up, enable USB Debugging on your device. This is because we will be using the ADB Push command to transfer files from the PC to your device. So head over to Settings > About Phone > Tap on Build Number 7 times [MIUI Number in Xiaomi devices] > Go back to Settings > System > Developer Options > Enable USB Debugging.

STEP 3: Download MTK-SU Binary

root mediatek su binary ARMv8

  1. Now download the mtk-su_r23.zip file [all credits go to XDA Senior Member diplomatic]. This is the file that will help us to root your MediaTek ARMv8 device.
  2. Once downloaded, extract its content to any location on your PC.
  3. You should now see a couple of folders- arm and arm64.
  4. So which one you should go for? Refer to the below section for the instructions regarding the same.

STEP 4: Check Android Device’s CPU Architecture

  1. To check your device’s architecture, you may take the help of a third-party app such as DroidInfo.
  2. Install it onto your device and go to its System tab and check out the CPU architecture.
    check android device cpu architecture 32 or 64 bit
  3. If it says aarch64, arm64-v8a, or any other related keyword with the 64 number, then your device is 64 bit. All other architecture will safely fall under 32-bit.
  4. So if your device is 64-bit, then transfer the mtk-su file from the arm64 folder to the platform-tools folder. On the other hand, 32-bit device users need to transfer the mtk-su file from the arm folder to the platform-tools folder.

STEP 5: Root MediaTek ARMv8 Devices

  1. When that is done, connect your device to the PC via USB cable. Make sure USB Debugging is enabled.
  2. Now head over to the platform-tools folder, type in CMD in the address bar, and hit Enter. This shall launch the Command Prompt.
    command-prompt-adb
  3. Use the below command to transfer the mtk-su file from your PC to the /data/local/tmp folder on your device.
    adb push path/to/mtk-su /data/local/tmp/
  4. After this, you need to open the shell, using the following command
    adb shell

    adb shell command

  5. You will now have to change the directory of the command prompt from the current platform-tools (of your PC) to the temp folder (of your device). You may do the same via the following command:
    cd /data/local/tmp
  6. let’s now add the executable permissions to the binary, as follows:
    chmod 755 mtk-su
  7. Finally, execute the below command (make sure that your device’s screen is unlocked or is woken up)
    mtk-su
  8. It should take only a couple of seconds for the task to be executed successfully.

However, if the CMD is stuck in this command screen even after 10-15 seconds, then press the Ctrl+C shortcut to terminate this command. Then use the exit command to close the shell. Type in all the commands one by one (adb shell onwards). You should now achieve success.

That’s it. With this, you have got the working adb shell with root privileges and on that note, we conclude the guide on how to root your MediaTek ARMv8 device. If you have any queries concerning the aforementioned steps, do let us know in the comments. We will get back to you with a solution at the earliest.

Share:
  • Why is the mtk-su_r23.zip archive empty? Where can I get the necessary files? What is the purpose of this instruction?