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

Search This thread

Akitake

Senior Member
Jan 20, 2018
117
47
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
 
Last edited:

HemanthJabalpuri

Senior Member
Hi,
I am also a user of RN9 Merlin.
I think we should add more details like
-how to flash official firmware(both from stock recovery, fastboot)
-should we need the same MIUI firmware that is there before we started booting custom ROM(GSI), if we need to go back to stock?
-what should happen if we interrupt the process in middle
-unlocking bootloader linux, macos or a link for the guide
-why we need to flash vbmeta.img?
-how to make vbmeta.img on our own(some are giving modified one, what is it?)
I know we need more and more time to do these, but these will help a newbie/noob/beginner for Xiaomi and rooting.

Thanks
 
Last edited:

Communos

Senior Member
Oct 28, 2019
243
171
Paris
Xiaomi Redmi 5
Google Pixel 3 XL
Hi,
I am also a user of RN9 Merlin.
I think we should add more details like
-how to flash official firmware(both from stock recovery, fastboot)
-should we need the same MIUI firmware that is there before we started booting custom ROM(GSI), if we need to go back to stock?
-what should happen if we interrupt the process in middle
-unlocking bootloader linux, macos or a link for the guide
-why we need to flash vbmeta.img?
-how to make vbmeta.img on our own(some are giving modified one, what is it?)
I know we need more and more time to do these, but these will help a newbie/noob/beginner for Xiaomi and rooting.

Thanks

1.Flashing official firmware is universal method for all devices through fastboot, And for recovery, we can't flash it yet since TWRP doesn't support dynamic partition yet.
2.No, you don't need the same firmware.
3.If you interrupt the process in between, the device would remain in fastboot Mode, and you can still restart the process.
 

HemanthJabalpuri

Senior Member
1.Flashing official firmware is universal method for all devices through fastboot, And for recovery, we can't flash it yet since TWRP doesn't support dynamic partition yet.
2.No, you don't need the same firmware.
3.If you interrupt the process in between, the device would remain in fastboot Mode, and you can still restart the process.
I heard a term called "Anti Roll Back" from https://forum.xda-developers.com/redmi-note-5-pro/how-to/faq-questions-answered-t3816185
Are all our merlin ROMs have same version of anti roll back. That is are we able to flash MIUI 11 on MIUI 12?

Thanks
 

Akitake

Senior Member
Jan 20, 2018
117
47
I heard a term called "Anti Roll Back" from https://forum.xda-developers.com/redmi-note-5-pro/how-to/faq-questions-answered-t3816185
Are all our merlin ROMs have same version of anti roll back. That is are we able to flash MIUI 11 on MIUI 12?

Thanks

Anti-rollback is only an issue if you're trying to downgrade through the stock recovery (Vol + Up) or through MIUI's recovery (About Phone > MIUI Version > Three dots and there is an option there)

If you want to go back to MIUI 11 for some reason, you can, by flashing it through fastboot.

Hi,
I am also a user of RN9 Merlin.
I think we should add more details like
-how to flash official firmware(both from stock recovery, fastboot)
-should we need the same MIUI firmware that is there before we started booting custom ROM(GSI), if we need to go back to stock?
-what should happen if we interrupt the process in middle
-unlocking bootloader linux, macos or a link for the guide
-why we need to flash vbmeta.img?
-how to make vbmeta.img on our own(some are giving modified one, what is it?)
I know we need more and more time to do these, but these will help a newbie/noob/beginner for Xiaomi and rooting.

Thanks

1 - Google, this isn't Merlin specific.
2 - No, you can go back directly to the latest MIUI for your device.
3 - Just start over, your device will remain in fastboot, it's actually really safe.
4 - That's a niche demand, 99% of people use Windows and, if you use something else it's on you. If you're a Linux user, you're used googling information and it's not a problem. And for mac, well, worst case scenario use someone else's pc for 10 minutes.
5 - To prevent boot-loops. If you don't flash vbmeta, it won't boot.
6 - Read disclaimers, the tutorial literally tells you to take the vbmeta from the official rom. There's no such thing as a modified vbmeta, what matters is how we flash it with fastboot, disabling verifications.

Also this is my first post, and I'll add more as time goes on. But even as it is, I think it's miles better than what people care to create for most devices on XDA. It's also pretty detailed with images and such to reassure the user.
 
Last edited:
  • Like
Reactions: galaxyms

markevan12

Member
Jan 20, 2017
14
1
can someone help me?

So I wanted to unlock the bootloader
Did the
Turnn on OEM unlocking
Turn on USB debugging
Added my device on my account (the other thing to do in developer setting)
Boot into fastboot

The Mi unlock can't detect my device although the drivers are fine (I checked it in device manager) and I run it in administrator check the driver again in the software it says it is installed.

What can I do? Did I missed some steps?
 

Akitake

Senior Member
Jan 20, 2018
117
47
can someone help me?

So I wanted to unlock the bootloader
Did the
Turnn on OEM unlocking
Turn on USB debugging
Added my device on my account (the other thing to do in developer setting)
Boot into fastboot

The Mi unlock can't detect my device although the drivers are fine (I checked it in device manager) and I run it in administrator check the driver again in the software it says it is installed.

What can I do? Did I missed some steps?

Here are some things you can try:
- Try another USB port.
- Try another USB cable.
- Install the Mi USB Drivers manually (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
 
Last edited:
F

fachrizoyy

Guest
hi sir , can you tell the gsi rom install tutorial if we installed it from twrp?
 

markevan12

Member
Jan 20, 2017
14
1
Here are some things you can try:
- Try another USB port.
- Try another USB cable.
- Install the Mi USB Drivers manually (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

thanks but I solved it by moving the unlock folder to C:
 

Akitake

Senior Member
Jan 20, 2018
117
47
Hey man. First of all I appreciate that you spent this much time for redmi note 9 users. I just want to know that how do I know that my device is merlin?

Hey, no problem!
Well, Merlin is just the codename for Redmi Note 9. So if you have a Redmi Note 9, you have a merlin.
BUT, keep in mind the Redmi Note 9 Pro, Pro Max and S are different and have their own section in the forums.
 

mirzanuman6612

Senior Member
Apr 14, 2017
88
26
22
Samsung Galaxy Tab E
Redmi Note 9
Hey, no problem!
Well, Merlin is just the codename for Redmi Note 9. So if you have a Redmi Note 9, you have a merlin.
BUT, keep in mind the Redmi Note 9 Pro, Pro Max and S are different and have their own section in the forums.

Well, thanks but one more thing, I tried unlocking the bootloader of my phone yesterday. I went into developer options and enabled the following options:
OEM unlocking
USB debugging

I also installed all the drivers needed in my pc and went into fastboot mode in my phone. But Xiaomis mi unlock can't recognise my device. I tried 2 different usb cables but the mi unlock just says, "your phone is not connected" I hope to get a reply from you and you will probably will be able to help me out.
 

Akitake

Senior Member
Jan 20, 2018
117
47
Well, thanks but one more thing, I tried unlocking the bootloader of my phone yesterday. I went into developer options and enabled the following options:
OEM unlocking
USB debugging

I also installed all the drivers needed in my pc and went into fastboot mode in my phone. But Xiaomis mi unlock can't recognise my device. I tried 2 different usb cables but the mi unlock just says, "your phone is not connected" I hope to get a reply from you and you will probably will be able to help me out.

Yes I could, I will actually add a section to the FAQ soon for better driver installation, it's a driver issue.
 

markevan12

Member
Jan 20, 2017
14
1
Well, thanks but one more thing, I tried unlocking the bootloader of my phone yesterday. I went into developer options and enabled the following options:
OEM unlocking
USB debugging

I also installed all the drivers needed in my pc and went into fastboot mode in my phone. But Xiaomis mi unlock can't recognise my device. I tried 2 different usb cables but the mi unlock just says, "your phone is not connected" I hope to get a reply from you and you will probably will be able to help me out.

Had you tried moving the unlock folder to c:/ ?
 

mirzanuman6612

Senior Member
Apr 14, 2017
88
26
22
Samsung Galaxy Tab E
Redmi Note 9
Had you tried moving the unlock folder to c:/ ?

I appreciate you replying to me. But, I already fixed it by installing windows 7 I had windows 10 before and it didn't seem to work on it so I installed windows 7 and it worked flawlessly. :) Btw, are you a user that has installed a custom rom? And if yes, then which one and is the performance any better?
Thanks.
 

markevan12

Member
Jan 20, 2017
14
1
I appreciate you replying to me. But, I already fixed it by installing windows 7 I had windows 10 before and it didn't seem to work on it so I installed windows 7 and it worked flawlessly. :) Btw, are you a user that has installed a custom rom? And if yes, then which one and is the performance any better?
Thanks.

Nope I didn't YET, I'm still waiting for the unlock to complete. I did tried treble roms in my other device. It just is basically have the same performance (LOSQ) but I had heating problems in my Samsung device, I expect a normal experience with this ROMs.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 15
    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
    Thanks Akitake for the guide, we all appreciate the effort that went into this!

    I have successfully installed CAOS, and wanted to ask if anyone else was having any bugs similar to mine.
    I am unable to lock phone into landscape mode, and signal always shows an X as though I have no signal, but it works normally.

    Aside from these 2 minor bugs, COAS is working great (y)
    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