From community reports across XDA and GitHub, here are typical scenarios where step 3 fails:
| Device | Chipset | Android | Security Patch | Result | | :--- | :--- | :--- | :--- | :--- | | Xiaomi Redmi Note 8T | MTK Helio G90T | Android 10 | May 2020 | Fails at step 3 | | Samsung Galaxy A20s | MT6765 | Android 10 | April 2020 | Fails at step 3 | | Tecno Camon 12 | MT6762 | Android 9 | December 2019 | Succeeds | | Motorola Moto E7 | MT6762 | Android 10 | February 2020 | Succeeds |
Notice the pattern: Patch date is king.
Before diving into the error, it’s important to understand the tool’s architecture. mtk-su is not a typical “one-click root” app. It is a binary that you push to your device via ADB (Android Debug Bridge) or execute within a terminal emulator. It works by: mtk-su failed critical init step 3
The “critical init” steps refer to the internal phases of the exploit’s execution. While the source code isn't trivial, the community has reverse-engineered the general meaning of these steps.
If you see "failed critical init step 3," follow this diagnostic flow before giving up:
Confirm your Binary Version:
Ensure you downloaded the correct mtk-su version (e.g., arm64 vs arm). Use the uname -m command in ADB shell. If it returns aarch64, use the arm64 binary. If it returns armv7l, use the arm binary. From community reports across XDA and GitHub, here
Check for Kernel Lockdown:
Run cat /proc/sys/kernel/security/lockdown in an ADB shell. If it returns integrity or confidentiality, the kernel is in lockdown mode, which explicitly prevents runtime kernel exploits like mtk-su.
Test on an Older Firmware: If you are determined to get root without unlocking the bootloader, you could try downgrading your device’s firmware to an older version (pre-November 2020) using SP Flash Tool or your manufacturer’s stock ROM flasher. Warning: This often requires an unlocked bootloader anyway, defeating the purpose.
For years, mtk-su has been a lifeline for Android users with devices powered by MediaTek (MTK) chipsets. This powerful command-line tool, developed by XDA Recognized Contributor diplomatic, allows for temporary root access and the exploitation of CVE-2020-0069, a vulnerability in MediaTek’s kernel. However, as Android versions have evolved and security patches have rolled out, users are increasingly encountering a frustrating roadblock: failed critical init step 3. The “critical init” steps refer to the internal
If you see this error message in your terminal or command prompt, your exploit attempt has failed. But understanding why this happens is the first step to potentially fixing it—or accepting the limitations of your device.
In this guide, we will break down what “critical init step 3” actually means, why it fails, and what you can do about it.
While mtk-su attempts to work around SELinux, you can help it by setting SELinux to permissive—though this often requires root itself (a chicken-and-egg problem). If you have an unlocked bootloader, flash a permissive kernel. If not, try:
adb shell setenforce 0
(Note: On stock ROMs, this usually fails without root.)