Magisk Canary adds support for rooting Huawei/Honor devices on EMUI 9

We may earn a commission for purchases made using our links.

Huawei has taken a strong stance on preventing you from modifying your smartphone, no longer providing bootloader unlock codes from July onwards. While it’s no longer possible to officially unlock your Huawei or Honor smartphone (although it might be possible if you live in India), you can do so unofficially with FunkyHuawei. It’ll cost you, but it does let you root your smartphone and have full control over it. There’s just one problem: EMUI 9 prevents root access via modifying the kernel’s ramdisk even if your bootloader is unlocked. XDA Recognised Developer and Recognised Contributor topjohnwu has figured out a way around that, and Magisk now works on EMUI 9 in the latest Canary builds.

A word of warning: you’re subject to other bugs by using the Canary builds. It’s not really a good idea to use it unless you know exactly what you’re doing. If you’re willing to accept those risks, you can head on over to the forum thread to download the latest version. For most users, we recommend waiting for the next stable release.

Getting root access on EMUI 9 proved difficult, with the eventual workaround meaning that you can no longer have a custom recovery installed on-device. When booting your smartphone, to have root access you’ll need to hold the volume up button. That boots the custom recovery, which is where Magisk can then run and boot your device normally. As a result, on EMUI 9, Magisk is now installed to the recovery_ramdisk partition, which is where TWRP would usually go. You can check out the changelog of the latest Magisk Canary build and the latest Magisk Manager below.

Magisk Canary 18003 Changelog

Support EMUI 9.0: patch `recovery_ramdisk.img` with Magisk Manager, and install with `fastboot flash recovery_ramdisk <patched image>`.In order to boot with Magisk, you have to always reboot to recovery (press volume up while booting)

Simplify `su_info` caching system

Remove requirement of system C++ STL, use internal `new` and `delete` implementation

Magisk Manager 170 Changelog