• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDES & FAQ][Merlin] Bootloader, Magisk, EdXposed, SafetyNet, GSI/Treble ROMs

Search This thread

Niquitincho

Member
May 31, 2021
6
3
Hello, Akitake.
I could find drivers ad now it is detected. Sadly, Im so stupid and readded my account and device in mi unlock status. I was checking the rooting process (so scary really) hahaha but the point is.
In one of the comands u putted to copy and paste (.\fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img) , I can see in your PowerShell command prompt u putted .\fastboot.exe --disable-verity --disable-verification flash vbmeta .\vbmeta.img, u added .\ to the start of vbmeta.img, should I add this?
Thanks for the fully complete guide, and I´ll wait for ur answer.
And a last thing, how is the process to update magisk? Supposing tomorrow they release a new version, how we update the root?
Also I dont need to enter fastbootD mode to root right? Its just to install GSI or ROMs which I wont use right? lol U dont say it in the commands.
Thanks
 
Last edited:
  • Like
Reactions: Akitake

Akitake

Senior Member
Jan 20, 2018
111
44
Hello, Akitake.
I could find drivers ad now it is detected. Sadly, Im so stupid and readded my account and device in mi unlock status. I was checking the rooting process (so scary really) hahaha but the point is.
In one of the comands u putted to copy and paste (.\fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img) , I can see in your PowerShell command prompt u putted .\fastboot.exe --disable-verity --disable-verification flash vbmeta .\vbmeta.img, u added .\ to the start of vbmeta.img, should I add this?
Thanks for the fully complete guide, and I´ll wait for ur answer.
And a last thing, how is the process to update magisk? Supposing tomorrow they release a new version, how we update the root?
Also I dont need to enter fastbootD mode to root right? Its just to install GSI or ROMs which I wont use right? lol U dont say it in the commands.
Thanks

On windows PowerShell it's better to use the .\
.\ essentially means "in the folder PowerShell is open in", and then we add the filename (fastboot.exe) same for vbmeta.img

To update magisk, just repeat the process.
Keep your rom's boot image on your phone, when Magisk Manager says there's an update, re-patch the boot.img, transfer the patched file to pc, and re-flash, like the first time.
And no you don't need to enter fastbootD to flash the boot.img, it's only needed when modifying system partition (custom roms, gsi, etc..)
 

Niquitincho

Member
May 31, 2021
6
3
On windows PowerShell it's better to use the .\
.\ essentially means "in the folder PowerShell is open in", and then we add the filename (fastboot.exe) same for vbmeta.img

To update magisk, just repeat the process.
Keep your rom's boot image on your phone, when Magisk Manager says there's an update, re-patch the boot.img, transfer the patched file to pc, and re-flash, like the first time.
And no you don't need to enter fastbootD to flash the boot.img, it's only needed when modifying system partition (custom roms, gsi, etc..)
You are the best! Thanks you so much for answering.
So basicaly when magisk gets an update I install over it, right?
I download the latest ROM from the firmwareupdater, i patch boot.img and flash vbmeta and boot, right?
If its that I will do it in 5 days when I unlock bootloader.
Tell me if that is it , Thanks a lot.
:D
 
  • Like
Reactions: Akitake

Akitake

Senior Member
Jan 20, 2018
111
44
You are the best! Thanks you so much for answering.
So basicaly when magisk gets an update I install over it, right?
I download the latest ROM from the firmwareupdater, i patch boot.img and flash vbmeta and boot, right?
If its that I will do it in 5 days when I unlock bootloader.
Tell me if that is it , Thanks a lot.
:D
Yeah you just redo everything.
 

alexsirb

Member
Feb 3, 2012
47
8
33
Orihuela
Does anyone know what is the reason of not receiving Magisk pop-up prompts? I had a hard time giving Xplore and Vanced root privileges. Actually, I didn't do anything, the prompt just suddenly showed up.
Merlin on MIUI 12.0.1.0 with no custom recovery.
Patched boot.img within Magisk.
I only have "MagiskHide Props Config" plugin installed, and I didn't hide the app with random name.
Checked Notifications section in Settings and MIUI Battery Optimization.
Any help is greatly appreciated.
 

Akitake

Senior Member
Jan 20, 2018
111
44
Updated a couple of things.
If you want a tutorial on something, or precisions on something already explained, let me know and I'll see what I can do!

Does anyone know what is the reason of not receiving Magisk pop-up prompts? I had a hard time giving Xplore and Vanced root privileges. Actually, I didn't do anything, the prompt just suddenly showed up.
Merlin on MIUI 12.0.1.0 with no custom recovery.
Patched boot.img within Magisk.
I only have "MagiskHide Props Config" plugin installed, and I didn't hide the app with random name.
Checked Notifications section in Settings and MIUI Battery Optimization.
Any help is greatly appreciated.

Also @alexsirb that just means you're not rooted properly.
Remember you need to flash the PATCHED boot.img that magisk manager gives you, not the original one.
 
Hi,
I'm having an issue with getting the Xiaomi tool to work.

On the phone (Redmi Note 9) I have already:
- connected the phone (and sim) to a mi account
- disabled Mi Sync and Find device
- enabled dev options
- enabled OEM Unlocking
- enabled Mi Unlock Status
- enabled USB debugging

In "normal" mode the phone connects to Windows fine and I can browse its contents. But when I put it in fastboot the phone does not appear in the mi unlock tool. I have checked and `fastboot devices` also does not show it. The device connected tone plays and it does appear in the device manager as "Android" but the diver does not work and Windows can't find another one.

In contrast, when I use my Linux machine and plug the phone into it, it does appear under `fastboot devices` correctly, but the `fastboot flashing unlock` and `fastboot oem unlock` commands fail.

So I need either some advice on how to make the phone appear on my Windows machine in fastboot, or find alternative tools for unlocking from a Linux host. Any advice?
 

Akitake

Senior Member
Jan 20, 2018
111
44
Hi,
I'm having an issue with getting the Xiaomi tool to work.

On the phone (Redmi Note 9) I have already:
- connected the phone (and sim) to a mi account
- disabled Mi Sync and Find device
- enabled dev options
- enabled OEM Unlocking
- enabled Mi Unlock Status
- enabled USB debugging

In "normal" mode the phone connects to Windows fine and I can browse its contents. But when I put it in fastboot the phone does not appear in the mi unlock tool. I have checked and `fastboot devices` also does not show it. The device connected tone plays and it does appear in the device manager as "Android" but the diver does not work and Windows can't find another one.

In contrast, when I use my Linux machine and plug the phone into it, it does appear under `fastboot devices` correctly, but the `fastboot flashing unlock` and `fastboot oem unlock` commands fail.

So I need either some advice on how to make the phone appear on my Windows machine in fastboot, or find alternative tools for unlocking from a Linux host. Any advice?

Xiaomi's fastbootd (yellow fastboot) mode is a system that requires specific drivers.
You need to enable Windows's Testing mode to install them:
- Run bcdedit /set testsigning on as administrator
- Reboot
- You'll see a watermark in the bottom right on your desktop saying you're in test mode

I've attached a zip file containing the drivers.

Extract it, right click "android_winusb.inf", click install, if in test mode, it should work and your phone should be detected right away.
After installing the driver you can disable test mode if you'd like by running the same command as above, except off instead of on. bcdedit /set testsigning off and rebooting once more.
 

Attachments

  • xiaomi_usb_driver.zip
    8.3 MB · Views: 7
  • Like
Reactions: NB_Gamer

AbdullahTrees

Member
Feb 2, 2017
6
0
Redmi Note 9
Hello, I hope I am in the right place. I am not sure whether this guide is for my device, but here's what the settings say:

Device Name: Redmi Note 9
Model: M2003J15SS
MIUI Version: MIUI Global 12.5.1.0(RJOMIXM)

I am completely new to rooting and want to root my phone and debloat it (remove MIUI and make it as close to stock android as possible). Please help me out.
For starters, this guide was made in October 2020, so can anyone let me know whether there is information in the guide that is outdated that I need to watch out for?
 

Akitake

Senior Member
Jan 20, 2018
111
44
Hello, I hope I am in the right place. I am not sure whether this guide is for my device, but here's what the settings say:

Device Name: Redmi Note 9
Model: M2003J15SS
MIUI Version: MIUI Global 12.5.1.0(RJOMIXM)

I am completely new to rooting and want to root my phone and debloat it (remove MIUI and make it as close to stock android as possible). Please help me out.
For starters, this guide was made in October 2020, so can anyone let me know whether there is information in the guide that is outdated that I need to watch out for?
Hello,

You are indeed in the right place.
All the information in the guide is still being kept up to date and works.
That said, since the guide was written, there are new ROMs (android versions) that aren't GSI's (universal roms) but made specifically for our device, and therefore may work better with less bugs.
However you won't find all of them on XDA, I can DM you more info if needed.

That said, the rooting tutorial will work on custom roms too, just get the boot.img from whatever rom you're using and patch that instead of the stock MIUI rom's boot.img

If you have any further questions feel free to ask or DM me.

Edit: The bootloader unlocking software changed a little UI wise but it's essentially the same.
 
Last edited:

AbdullahTrees

Member
Feb 2, 2017
6
0
Redmi Note 9
Hey! So I successfully managed to unlock the bootloader of my phone, yay!

The problem is now I want to root it. I don't know what to do. Following the link that you posted for this phone, (current version on phone is 12.5.1.0(RJOMIXM)), I only see one entry and that's only type Recovery, not Fastboot as your guide tells me it has to be:
chrome-l-STj-K3l-Ygt.png

So do I grab the required files from the file in this link? Also how can I be sure that using these files won't corrupt my phone? I'm kind of scared of flashing images cause they can cause a bricked phone and I don't want a brick :(
 

Attachments

  • 1632515809631.png
    1632515809631.png
    603 KB · Views: 5
  • 1632515833743.png
    1632515833743.png
    603 KB · Views: 5
  • 1632515840642.png
    1632515840642.png
    603 KB · Views: 5

Akitake

Senior Member
Jan 20, 2018
111
44
Hey! So I successfully managed to unlock the bootloader of my phone, yay!

The problem is now I want to root it. I don't know what to do. Following the link that you posted for this phone, (current version on phone is 12.5.1.0(RJOMIXM)), I only see one entry and that's only type Recovery, not Fastboot as your guide tells me it has to be:
chrome-l-STj-K3l-Ygt.png

So do I grab the required files from the file in this link? Also how can I be sure that using these files won't corrupt my phone? I'm kind of scared of flashing images cause they can cause a bricked phone and I don't want a brick :(

It usually takes them a while longer to get the Fastboot version of a ROM out.

That said I've got it from elsewhere, and zipped the boot.img and vbmeta.img for you (attached to this message)

Let me know if you need any further help :)
 

Attachments

  • merlinxglobal12.5.1.0.RJOMIXM.zip
    10.3 MB · Views: 17

Top Liked Posts

  • There are no posts matching your filters.
  • 13
    DISCLAIMERS (please read !)
    • This thread is made for the Redmi Note 9, also known as Redmi 10X 4G.
    • This device's codename is Merlin.
    • I will not be held responsible if you brick your device.
    • Follow the instructions shown in this thread at your own risks.
    • Follow the steps and ask questions below when unsure, everything will be fine!
    • No files will be directly provided. Do not use pre-created/re-uploaded files.
    • Feel free to cite parts of this thread in your own, just make sure to give credit where it's due.

    Prerequisites for most manipulations
    • Your phone, well charged if possible
    • The USB cable used to link your phone to your computer (the one on your charger works just fine)
    • A computer, with recent ADB & Fastboot (Platform Tools)
    • Some time, patience, and the ability to read and follow instructions!

    Tutorials

    Step 1
    Make sure you have a Mi Account ready.
    You should've created one when first setting up your phone, with your phone number and a password.

    - If you have it: Double-check you have access to it by attempting to connect on Xiaomi's official website (Login page).
    - If you don't: Create one with the Create an account button below the password form (same link as above), then connect to it.

    Step 2
    On your PC, go to Xiaomi's unlock page and click the colored Download Mi Unlock button.

    j8fgLYw.jpg

    Step 3
    A download should start. Wait for it to finish, move the archive to your desktop and extract its content.

    fOlOpW1.jpg

    Step 4
    Inside the extracted folder, double click the file called miflash_unlock.exe to start Xiaomi's Unlocking program.

    NqDFN3F.jpg

    Step 5
    Read Xiaomi's Disclaimer then agree to their terms, or stop here and leave this thread if you don't.

    7LDJov0.jpg

    Step 6
    Sign in to your Mi Account we talked about in Step 1.

    Zx6fr6T.jpg

    Step 7
    Let's get your phone ready for unlocking.
    • Go to your phone's Settings > Mi Account and make sure you're logged in.
    • Now Settings > About Phone and tap the "MIUI Version" box multiple times until it says You are now a developer!
    • And finally Settings > Additional Settings > Developer Options

    Enable the following settings inside Developer Options, and click Accept when warnings pop-up:
    • OEM Unlocking
    • USB Debugging
    Still in Developer Options, check your Mi Unlock status and click the Add account and device button at the bottom if present.
    Make sure to backup your phone's data before continuing on with this tutorial, as unlocking will make it factory reset (wipe)!

    Step 8
    Alright, all backed up? Confident? Let's get going with the final steps.
    • Turn off your phone.
    • Turn it back on into fastboot mode by holding down the Power button AND Volume Down together until it vibrates, you may then let go of the Power Button, but keep Volume Down held until you see the fastboot image on your phone.
    82hjtTV.jpg
    • Connect your phone to your computer with the USB Cable.
    • Xiaomi's Software should detect it. If not, click on the cog-wheel in the top right, click the Check button to install the driver and follow instructions, then keep going.
    • Click Unlock, and follow the instructions!
    Now there are two possible scenarios
    • Either you've done all this before and can have your phone unlocked right away.
    • Or this is the first time and at the end of the progress it'll ask you to wait ~7days, and, well, there's no way around that, so come back in 7 days and start from Step 8 again.
    And there you go! Your phone will reboot and you can set it all up again, with the ability to follow the rooting tutorial below, and you can also install custom ROMs/recovery!
    Step 1
    Download the latest Magisk .apk on your phone.
    Go to the link above, click the latest (topmost) Magisk-vXX.X.apk you see in the list to start the download, open the file and install it.

    Step 2
    Go to the download page for the MIUI Official Rom for your region, make sure to get the fastboot version.
    OR (if you don't want/can't download 3gb of ROM)
    Follow DavitidzeSh's instructions on how to gather the boot.img and vbmeta.img files and SKIP to Step 5.
    OR (if you're on a custom rom)
    Look into your custom rom's .zip, find the boot.img and vbmeta.img files and SKIP to Step 5.

    Step 3
    Take the file you downloaded above, it should be a .tgz archive.
    Extract it, you'll get a .tar achive.
    Extract that one again.

    Step 4
    You should now have a folder similar to the one below

    d1H2K4g.jpg

    Go inside the images folder

    KQ7GB7S.jpg

    Step 5
    Grab the the vbmeta.img file and copy it to your ADB & Fastboot (Platform Tools) folder.
    Grab the boot.img file and copy it to your phone's internal storage.
    (where the Android, DCIM, Download, and more are present, just drop it in there)

    Here's how it should look inside your phone's storage in the end.

    uiusbXG.jpg

    Step 6
    On your phone, open up Magisk Manager.
    • Click the Magisk Install button as shown below.
    • Then Select and Patch a File.
    • Go look for your boot.img you previously copied to your phone and pick it.
    • Click Let's go! and wait for Magisk to complete the process!

    Z8o3ai9.jpg

    Step 7
    Link your phone to your PC, grab the file made by Magisk Manager.
    It's located in your phone's downloads folder, called magisk_patched.img.
    Copy and paste it where your ADB & Fastboot (Platform Tools) are located.

    You should now have a folder structure like this:
    • adb.exe
    • fastboot.exe
    • magisk_patched.img
    • vbmeta.img
    • Extra files from the platform tools

    epfTRVa.jpg

    Step 8
    Alright, we're ready to root!
    Turn off your phone, then get in fastboot mode.
    (Power + Volume Down, like the unlocking tutorial)

    Step 9
    Link your phone to your PC with the USB cable if not done already.

    Step 10
    Shift + Right click in an empty space inside the folder we prepared in Step 7,
    And click Open PowerShell window here.

    Inside the PowerShell window, input the following commands line by line, in order.

    .\fastboot.exe devices

    Make sure your device shows up, should be a bunch of numbers and letters, a couple spaces, and fastboot.
    If nothing does, go back to Step 8 and try again.


    .\fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
    .\fastboot.exe flash boot .\magisk_patched.img
    .\fastboot.exe reboot

    Z5zUaGR.jpg

    Note: Your PowerShell window will look different, I'm using a different program, don't worry

    Your phone will reboot.
    Open up Magisk Manager, and double check that it's installed.


    0nEL6dO.jpg

    You're done!
    That said, you will have issues with certain apps leaving it like this.
    You should to hide the fact that your phone is rooted.

    Check out the Passing SafetyNet tutorial further down below!
    I very much discourage to EdXposed your phone unless you have a very good reason for it.
    It's a pain to pass SafetyNet.
    It doesn't get updated often.
    It has very niche use cases for which it's actually worth it.


    That said, I explain it here for people who know what they're getting into and want instructions on how to do it.

    This procedure requires to be rooted with Magisk.

    Step 1
    Inside Magisk Manager, go to the Modules tab.
    Click the search button (bottom right) and search Riru.
    Install the Riru module by Rikka.
    Activate it and Reboot.

    TllFEIp.jpg

    smEPpXN.jpg

    Step 2
    Download and install the latest EdXposed Manager, the same way you did with Magisk Manager when rooting.

    Step 3
    Open it up, go to the ALPHA tab and click install/update.
    It'll start a file download.

    1GF2hIW.jpg

    Step 4
    Go back to Magisk Manager, Modules tab, except this time click Install from Storage.
    Point to the .zip
    file you just got, located in the Downloads folder of your phone.
    At the end of the installation, click reboot.


    Step 5
    Let's double check your installation is operational.
    Go to EdXposed Manager, first tab.
    It should say EdXposed Framework is active.


    JvuOjMg.jpg

    You're done!
    You should now be able to install EdXposed modules.
    That said, you will have issues with certain apps leaving it like this.
    You should to hide the fact that your phone is EdXposed.
    Check out the Passing SafetyNet tutorial further down below!
    For Magisk Rooted Phones
    Enable Magisk Hide inside Magisk Manager's settings.
    You may also need to use the Props module to spoof your phone as another, if you want a tutorial on that, let me know.

    For EdXposed Phones
    Again, I highly recommend not EdXposing your phone and sticking to just Magisk if you can help it.
    You should also know that this method will show you're passing SafetyNet inside Magisk but it's a pain to do and isn't as well hidden as Magisk alone.
    Step 1
    - Do the step for Rooted phones listed above if not done already.
    Step 2 - In EdXposed Manager, get the HiddenCore Module and activate it.
    Step 3 - Now, in the side-menu: Compat List > tick HiddenCore Module.
    Step 4 - Then, go to Settings > Framework > Enable "App List mode".
    Step 5 - Finally, Applications(Black List) and tick: Android Services Library, Chrome, Google Play services, Google Play Store, Google Services Framework

    Reboot and enjoy! You're all set and SafetyNet should pass.
    Step 1
    Pick your poison in the Treble Forums!
    My recommendations are in the Extras section of this post.

    Step 2
    Download the chosen ROM's A/B Arm64 version
    It should be an .img.xz file
    Extract it and you'll get an .img file.

    You're almost ready to flash.
    Make sure to backup your phone's data.
    Continuing this tutorial will wipe your phone!

    Step 3

    Put your phone into fastboot mode.
    (Power + Volume Down)
    Connect it to your PC.

    Step 4
    Move the .img file you downloaded to your ADB & Fastboot (Platform Tools) folder.
    Rename it to system.img

    Step 5
    Shift + Right click in an empty space inside the folder,
    And click Open PowerShell window here.

    Inside the PowerShell window, input the following commands line by line, in order.

    .\fastboot.exe reboot fastboot
    .\fastboot.exe --disable-verification flash vbmeta .\vbmeta.img
    .\fastboot.exe flash system .\system.img
    .\fastboot.exe -w
    .\fastboot.exe reboot

    Your phone will now reboot on its own.
    Set it all up and enjoy!
    That said, depending on how old the GSI you picked is, you MAY have issues leaving it at that.
    Therefore, I highly recommend checking out the next tutorial section about Fixing GSI Issues.
    I have worked together with a developer to bring fixes for our device to every custom GSI rom out there.
    The most recent GSI's shouldn't need the fixes listed below.


    Older GSI (treble) roms have two known bugs that we can fix:
    • The brightness slider being misscalibrated, and therefore auto-brightness broken too.
    • The headphone jack not working.
    You need to be rooted to do so.

    Step 1 - Get yourself a Terminal Emulator, I recommend Termux
    Step 2 - Type the following commands inside of it, line by line, in order:
    su
    setprop persist.sys.qcom-brightness $(cat /sys/class/leds/lcd-backlight/max_brightness)
    setprop persist.sys.overlay.devinputjack true

    You're done! Brightness should be fine, headphones get detected, enjoy!
    Backup all the data you might have on your phone to restore it after the manipulation!

    Step 1
    Download the fastboot ROM corresponding to your region here.
    (The same one used to grab the boot.img and vbmeta.img when rooting)
    And extract it.

    Step 2
    Download the latest MiFlashTool.
    And extract it.

    Step 3
    Put your device in fastboot mode.
    (Power + Vol Down, refer to the rooting tutorial for a more info)
    And connect it to your computer via USB.

    Step 4
    Open MiFlashTool (XiaoMiFlash.exe), your device should appear in the list.

    Step 5
    Click the Select button in the top left,
    And point to your fastboot ROM's folder
    (The one containing the "AP", "BP", "BP_IN", "images" folders and a bunch of files)

    Step 6
    At the bottom right of the software, choose if you either want to just:
    clean all
    (wipe and re-install)
    OR
    clean all and lock

    (wipe, reinstall and re-lock your bootloader)

    Note: If you re-lock your bootloader but wish to unlock it again later, you won't have to wait the 7 days again.


    Step 7
    Finally, in the top right, click the flash button.

    Now just wait a while, your phone will reboot on the stock rom and you're good to go!

    Extras

    Q: Will unlocking my bootloader void my warranty?
    A: No, it will not, it's easily reversable too, check the "Resetting your phone" tutorial.

    Q
    : I rooted/EdXposed my phone and now Netflix won't even open, or doesn't work properly, what's up with that?
    A: There's an easy fix if you have Magisk. Install the liboemcrypto disabler Magisk module, activate it and reboot.

    Q
    : I tried unlocking my bootloader but, Mi Flash Unlock doesn't detect my phone, even though it's in fastboot mode and connected. Help?
    A: Here are some things you can try:
    • Try another USB port.
    • Try another USB cable.
    • Install the Mi USB Drivers manually, they're included in the MiFlashUnlock folder.
      Run the driver_install_64.exe, OR go to the driver folder, then the folder corresponding to your windows version, right click the android_winusb.inf and click Install.
    • In the Device Manager, check that the driver provider is Xiaomi.
      If not, uninstall it and restart your computer.

    WmkBs0W.jpg
    4
    If you want to say "join in fastbootd", you just have to say "join in fastbootd".
    And don't say "just type reboot and it will works".

    System partition is not present in stock rom firmware. If it is present in GSI, just say "it is only for GSI".
    If you dont like misinforming, just write enough informations. That's simple.
    Just reboot to fastbootd doesn't makes no changes.
    What matter is what you do inside it.
    We humans can understand if you try to explain it.

    The goal is to have a step by step, easy to follow guide.
    Using fastboot reboot fastboot will bring you into fastbootd which you need to flash system.
    Writing that up in the guide will just confuse people further, all people want to know is how to do things properly.
    In any case I'll be adding it to the faq part later I suppose, for people who are confused by that command.

    PS: I've re-formatted the original post to improve readability. Let me know what you think!
    2
    what are the possible ways that you can brik your phone? im just asking so i know what to avoid
    writing wrong commands or downloading wrong firmware
    just follow the guide
    1
    This worked great! Thank you so much. Hopefully, the rest of the process goes easy for me next week once I get Xiaomi's blessing to start tinkering.