How To Guide [GUIDE][UNLOCK][ROOT] How to unlock bootloader, flash ArrowOS v11.0 ROM and root Xiaomi Poco X3 Pro

Search This thread
Ok, so w/ Magisk flashed, how are you obtaining the boot.img necessary for patching?
I do not flash Magisk .zip or .img - I'm installing normal .apk and use it to create patched .img using boot.img taken from ROM .zip file

If I flash .zip or flash patched .img, I can't do anything anyway since it bootloops
Flashing the magisk apk as zip will always fail as mentioned in the tutorial.

Also btw, you're not supposee to flash img in recovery. They usually to be flashed in fastboot/bootloader.

Just to reconfirm, did you flashed the patched boot.img after or before you attempted to flash magisk.zip?
Yes I know - I literally said 3 times already I tried everything - flashing img in fastboot/bootloader and since that didn't work (like 10 times) I tried something else (which was just "legacy way")

I clean flashed whole ROM like 3 times already too just to confirm there is nothing about magisk - I tried flashing patched boot.img using fastboot/bootloader on completely cleanly flashed ROM first time I read this whole tutorial

That's why I've asked for help with this since it didn't work with any of tested ROMs



What I found out tho, after flashing patched .img (and when it's bootlooped) I can use "magisk" command in shell - "su" probably works too but I think it needs confirmation on phone screen as it just hangs and waits for some action (which I can't do since all I see on phone is boot animation...)
 

urbanman2004

Senior Member
Sep 16, 2013
416
197
Rock Town
I do not flash Magisk .zip or .img - I'm installing normal .apk and use it to create patched .img using boot.img taken from ROM .zip file

If I flash .zip or flash patched .img, I can't do anything anyway since it bootloops
That's not what I asked. I asked "...how are you obtaining the boot.img necessary for patching?"
Can you give me a step-by-step process so I can understand, similar to how I laid out my instructions in this guide for you and everybody else to understand.
 
That's not what I asked. I asked "...how are you obtaining the boot.img necessary for patching?"
Can you give me a step-by-step process so I can understand, similar to how I laid out my instructions in this guide for you and everybody else to understand.
1. Download .zip with ROM ex. Arrow-v11.0-vayu-OFFICIAL-20210507-GAPPS.zip from respectable XDA thread
2. Unpack downloaded .zip
3. Copy "boot.img" from that unpacked .zip onto phone memory/external SD card
4. Install Magisk Manager apk
5. Open installed Magisk Manager, choose "Install" > "select file to patch"
6. Select previously copied boot.img
7. Magisk Manager will create patched boot.img which should be in "Downloads" folder
8. Flash that patched boot.img (which is in "Downloads" folder) using fastboot/bootloader


And here is where my adventure ends - after successful flash, rebooting to system just bootloops and to get it working again I have to flash boot.img again from step 3. using fastboot/bootloader

I can even make YouTube video if that necessary...
 

urbanman2004

Senior Member
Sep 16, 2013
416
197
Rock Town
1. Download .zip with ROM ex. Arrow-v11.0-vayu-OFFICIAL-20210507-GAPPS.zip from respectable XDA thread
2. Unpack downloaded .zip
3. Copy "boot.img" from that unpacked .zip onto phone memory/external SD card
4. Install Magisk Manager apk
5. Open installed Magisk Manager, choose "Install" > "select file to patch"
6. Select previously copied boot.img
7. Magisk Manager will create patched boot.img which should be in "Downloads" folder
8. Flash that patched boot.img (which is in "Downloads" folder) using fastboot/bootloader


And here is where my adventure ends - after successful flash, rebooting to system just bootloops and to get it working again I have to flash boot.img again from step 3. using fastboot/bootloader

I can even make YouTube video if that necessary...
So my followup to that is as follows:

1. How are you flashing/updating your phone: is it by way of OTA update or are you manually flashing (after downloading it from the dev's website)?
2. Is the boot.img you're extracting coming from the same version of firmware that is being used to update?
3. Magisk is no longer a "Manager" anymore; it's just "Magisk" according to the dev of the apk.
4. The patched boot.img resulting from you using Magisk will have nomenclature similar to "magisk_patched-23000_rauu0" which is the boot.img file you should be using.

I don't usually do 'tech support' over these kind of issues since I tend presume members on XDA in these threads are somewhat familiar w/ flashing ROMS b/c it should be basic common knowledge being on a site like this otherwise you should just stick w/ stock firmware. Make of it what you will.
 
So my followup to that is as follows:

1. How are you flashing/updating your phone: is it by way of OTA update or are you manually flashing (after downloading it from the dev's website)?
2. Is the boot.img you're extracting coming from the same version of firmware that is being used to update?
3. Magisk is no longer a "Manager" anymore; it's just "Magisk" according to the dev of the apk.
4. The patched boot.img resulting from you using Magisk will have nomenclature similar to "magisk_patched-23000_rauu0" which is the boot.img file you should be using.

I don't usually do 'tech support' over these kind of issues since I tend presume members on XDA in these threads are somewhat familiar w/ flashing ROMS b/c it should be basic common knowledge being on a site like this otherwise you should just stick w/ stock firmware. Make of it what you will.
It's not my first time flashing custom ROM (you can just look at my signature)
It's just first time I have issues with flashing magisk as it was always working without any issues (even on other Xiaomi phone... Note 7 btw)

I don't even know anymore how I can explain to you what am I doing - already wrote same thing like 5 times in this thread...

1. No, I DO NOT use any OTA - I literally unlocked bootloader 2 days ago and today flashed ArrowOS straight from .zip using TWRP (which you even linked somewhere)
2. Yes, IT'S SAME ZIP - I DO NOT use any other version of ArrowOS zip apart from that mentioned previously. Boot.img is TAKEN OUT of that .zip
3. And what does that have in common with my issue? Magisk is magisk - it was magisk manager before and for me it will stay that way - APK can be renamed to .zip and it can be flashed... zip can be renamed to .APK and it can be installed like any other app...
4. Yes, that's the "patched boot.img" I was talking about for like 6 post now...

Tech support? Dude... You asked me about same thing for 5 posts now - maybe I am stupid but if I didn't know what I'm doing, I wouldn't even unlock and flashed anything...
I asked a single question - "why does magisk bootloops if I flash patched .img"... I even provided logcat for anyone interested and for who definitely know more than me - I think it wasn't you tho...

Thanks for help tho but I guess we won't find solution talking like this....
 

xelrix

Member
Feb 1, 2014
34
13
Sorry for the long winded and repeated questions.

And yeah, canary isn't necessary. I would even suggest staying on stable unless theres specific things in canary that you want to use/test.

Another thing, did you patch any disable dm-verity patch during installation?
If you did, I suggest that you try skipping it for now if you did, just for trial sake.
Besides, magisk already have its own disable dm-verity solution.

If you did not, sorry im out of suggestions.
 
Last edited:
Sorry for the long winded and repeated questions.

And yeah, canary isn't necessary. I would even suggest staying on stable unless theres specific things in canary that you want to use/test.

Another thing, did you patch any disable dm-verity patch during installation?
Nope, just straight up used "Select and patch a file" option to generate patched .img
Then just flashed that using
Code:
fastboot flash boot <patched.img>
and rebooted - nothing more, nothing less - didn't use any other .zips, modules or anything like that...
 

urbanman2004

Senior Member
Sep 16, 2013
416
197
Rock Town
Also tried canary as some people said it sometimes work but it didn't change anything
Last time I checked, my guide said to use the "latest version of Magisk" which was Magisk v22.1 at the time, not canary ¯\_(ツ)_/¯
 

urbanman2004

Senior Member
Sep 16, 2013
416
197
Rock Town
Tech support? Dude... You asked me about same thing for 5 posts now - maybe I am stupid but if I didn't know what I'm doing, I wouldn't even unlock and flashed anything...
I asked a single question - "why does magisk bootloops if I flash patched .img"... I even provided logcat for anyone interested and for who definitely know more than me - I think it wasn't you tho...

Thanks for help tho but I guess we won't find solution talking like this....
I actually wanna help you, but look throughout this whole thread: nobody else is reporting having the same issue as you. You can bring up all the experience you have under your belt, but in the grand scheme of things, we all are able flash Magisk w/o issue. Maybe try following my guide to the 'T' next time and using Pbrb instead of TWRP.
 

xelrix

Member
Feb 1, 2014
34
13
Its a stretch but for the boot.img flash, did you use fastboot (reboot bootloader) or fastbootd (reboot fastboot)?
Calling it a stretch because if you have twrp, you would get to twrp version of fastboot, which i dont think is working yet for vayu.

If everything else fail, im thinking your partitions might be somewhat broken.
I would suggest you download the latest miui fastboot rom for your region and use the flash_all.bat script (dont relock obviously)
Then redo everything.
As it seems, you're doing everything accordingly so there shouldn't be anything wrong.

Last time I checked, my guide said to use the "latest version of Magisk" which was Magisk v22.1 at the time, not canary ¯\_(ツ)_/¯

He linked the latest stable release, which is fine.

Edit:

Just to share, i initially used uberman2004 tutorial from unlocking bootloader till rom installation (installed miui eu rom though) EXCEPT installing magisk nor patching disable dm-verity patch.
It works fine.

But for arrowos (a month later), i decided to start clean.
1. Enable adb in dev option
2. Boot into fastboot ([adb reboot bootloader])
3. Run flash_all.bat script from miui global 12.0.6 fastboot rom (yes my vayu is global)
4. [Fastboot flash recovery recovery.img] (which is latest nebrassy's twrp)
5. [Fastboot boot recovery.img] (on hindsight, [fastboot reboot recovery] should be fine)
6. Install latest arrowos with gapps from my sd card (didn't cross my mind to just use otg)
7. Format data
8. Reboot to system
9. Dash through initial setup
10. Install mixplorer
11. Open up the arrow os file and extract the boot.img to the root of my sd card
12. Install magisk v23.0 stable that i got from github
13. Patched the boot.img ive extracted just now
14. Transfer the patched boot.img from my phone to the adb folder in my pc
15. [Fastboot flash boot *patched boot.img*]
16. [Fastboot reboot]

And im done.

Note that i never install any dm-verity patch nor have i tried installing many custom rom on my phone prior.
 
Last edited:
  • Like
Reactions: urbanman2004

pl1992aw

Senior Member
Apr 5, 2019
1,380
1,045
Someone uploaded a patched
miui global 12.0.6.0 magisk patched boot.img

Source:
https://xdaforums.com/t/how-to-root-poco-x3-pro-miui-v12-0-6-0-rjumixm-global.4268449/post-84958155

According to the date and the Magisk update, the Magisk this person use most likely is v22.1

As there's no complaint afterward when people seem to have use it, it might be a working patched boot.img

You can risk and try, but your decision to trust it or not.

There's a tool quite easy to use on PC, and I have use it to flash TWRP recovery, boot TWRP and flash patched boot.img. So it's easier to use and doesn't really need to always check if the code you are typing is correct or not.

XiaomiADBFastbootTools (Java)
https://github.com/Szaki/XiaomiADBFastbootTools

The only concern is whether you trust using this PC program or not. This tool is also listed in the INDEX thread. In virus total it's all clean.

Few things to rule out the issue:
1) Do you have microSD card in your device? In the past, some people have problems when having microSD in their devices to bootup or other issues. If you have microSD inserted, remove it to see if it quit the bootloop.

2) When you turn on adb debug in developer setting, it should have a pop up. There's an option like: Always allow from this computer. Did you have it checked? If you did not allow it/trust the device, you'll likely have issue when using fastboot and adb.
trust-computer-for-usb-debugging.png


3) Use the latest adb platform-tools.

4) Reboot your PC. Sometimes there's problem with the PC, causing errors.
 
Last edited:
So yeah... finally fixed my Magisk issue

I've decided to completely start from scratch (again) and flashed MIUI Global (even tho my stock was EU) using recovery, then ArrowOS and used TWRP to flash Magisk 22.1 (yes, it's not latest).
It didn't bootloop this time so I've checked Magisk app and it showed that Magisk was installed. I've updated it from Magisk app (using direct install) and after reboot, everything was still working fine - no more bootloops etc.

Thanks everyone for helping - I probably should've done that at start when it didn't work but I was really tired setting everything every time after flashing...
 

urbanman2004

Senior Member
Sep 16, 2013
416
197
Rock Town
So yeah... finally fixed my Magisk issue

I've decided to completely start from scratch (again) and flashed MIUI Global (even tho my stock was EU) using recovery, then ArrowOS and used TWRP to flash Magisk 22.1 (yes, it's not latest).
It didn't bootloop this time so I've checked Magisk app and it showed that Magisk was installed. I've updated it from Magisk app (using direct install) and after reboot, everything was still working fine - no more bootloops etc.

Thanks everyone for helping - I probably should've done that at start when it didn't work but I was really tired setting everything every time after flashing...
See how going back to the drawing board and starting over does wonders? Lol :LOL:. On a serious note, although I did initially implore you to do that multiple times in an effort to isolate the root cause of your issue, I am really glad that you were finally able to get things working. Enjoy your newly Magisk rooted Arrow OS flashed Poco X3 Pro :giggle:.
 
See how going back to the drawing board and starting over does wonders? Lol :LOL:. On a serious note, although I did initially implore you to do that multiple times in an effort to isolate the root cause of your issue, I am really glad that you were finally able to get things working. Enjoy your newly Magisk rooted Arrow OS flashed Poco X3 Pro :giggle:.
Yeah... I did that one time but it didn't fix it so I tried again and somehow it worked this time.
Maybe it was issue with EU MIUI... or maybe not.

Anyway - it works now. Just last question (hopefully) - any idea why JamesDSP makes ringtones sound distorted? Media sound works without any problems but ringtone and notification doesn't...
If I uninstall module, everything goes back to normal.

Should I try with V4A?
 

urbanman2004

Senior Member
Sep 16, 2013
416
197
Rock Town
Yeah... I did that one time but it didn't fix it so I tried again and somehow it worked this time.
Maybe it was issue with EU MIUI... or maybe not.

Anyway - it works now. Just last question (hopefully) - any idea why JamesDSP makes ringtones sound distorted? Media sound works without any problems but ringtone and notification doesn't...
If I uninstall module, everything goes back to normal.

Should I try with V4A?
Your inquiry is out of scope for the purposes of this guide. Maybe try hollering at the dev here.
I previously had an issue related to a call recording app I use that was causing my audio output from the speakers to sound distorted so I ended up troubleshooting the issue on my own till I successfully found the root cause of the issue as it pertains to this post here. Not sure if it could be somewhat related, but other than that, you're better off googling for a resolution.
 
Last edited:
  • Like
Reactions: Th3 Ant

Skelos

Senior Member
Jun 10, 2013
70
7
Seems as though you may have also overlooked the following detail within my instructions since you're attempting to replace "Pbrb (test3)" with TWRP: "8. Download the unofficial Pbrb (test3) recovery file (PitchBlack Recovery Project 3.1.0 unofficial) by Alex Besida and copy it into the ADB install folder and rename it to "recovery.img"."

You have reason, man. I'm sorry. I heve to read with more brain. :-(
I have other doublt. You talk about of two commands:
9. Flash custom recovery file in CMD, run commands:
Code:
fastboot flash recovery "recovery.img"
fastboot boot recovery.img
but same file recovery.img is useful for recovery and boot? I expectacing two different files...
 

pl1992aw

Senior Member
Apr 5, 2019
1,380
1,045
You have reason, man. I'm sorry. I heve to read with more brain. :-(
I have other doublt. You talk about of two commands:

but same file recovery.img is useful for recovery and boot? I expectacing two different files...

What doubt do you have? Why expecting 2 different files?

Code:
fastboot flash recovery "recovery.img"
to overwrite the recovery

Code:
fastboot boot "recovery.img"
to boot the file eg. recovery

You might have mistaken with
Code:
fastboot flash boot "boot.img"
 
You have reason, man. I'm sorry. I heve to read with more brain. :-(
I have other doublt. You talk about of two commands:

but same file recovery.img is useful for recovery and boot? I expectacing two different files...
Code:
fastboot boot recovery.img
Means that it's gonna boot into recovery without "saving" - to save you have to include "flash" command (fastboot flash boot <image.img>)

This allows you to boot using some other image without actually writing it to that partition
 

Top Liked Posts

  • There are no posts matching your filters.
  • 37
    If you've recently purchased a Xiaomi Poco X3 Pro, but were on the fence about using it until an AOSP ROM became available then you're in luck. Kudos to @kubersharma for his contribution by providing us the first official AOSP release, ArrowOS v11.0 [vayu].
    Now, throughout this guide, I have linked the page or post based on information I gathered to put this guide together in order to credit that person instead of having to name drop them individually. These are fully detailed instructions to make it easier for newbs.
    I've spent the better part of my day figuring all of this stuff out so hopefully you won't go through the trouble I did. PLEASE DO NOT PM ME FOR HELP. REPLY TO THIS GUIDE BELOW, THANKS. NOW LET'S BEGIN!!!

    UNLOCK BOOTLOADER
    1. Unlock the bootloader with Xiaomi Unlocker tool.
    a. Be aware this process will factory reset the device before proceeding.
    b. Download the Mi Unlock app onto your PC. Extract the contents within the zip file into an empty folder then run the app.
    c. Register for Xiaomi account and sign in with your Mi Account.
    d. Your Mi Account must be added to your Mi Settings
    • Sign into your Mi Account on the device.
    • Go to Settings –> About Phone –> tap on MIUI version (For POCO) until it says Developer options is enabled.
    • Back out of About Phone, Additional Settings –> Developer options –> Mi Unlock status.
    • Agree, then "Add account and device".
    e. Shut down your phone manually, and hold Vol down + Power button to enter Fastboot mode.
    • Download and install the latest Xiaomi USB Drivers or here (or Google's latest USB drivers for Windows if all else fails) for your PC.
    • Connect the device to the computer via USB cable, and confirm that your phone shows up recognized as "Android Bootloader Interface" (in Device Manager), and click "Unlock" in the Unlock app.
    • NOTE: If Windows does not recognize the device due to it automatically installing the wrong "Kedacom Device Driver" then you will have to manually install the drivers for "Android ADB Interface/Android Bootloader Interface".
    f. After your first initial unlock attempt, you MUST wait 168 hours before unlock process can fully complete.
    • Wiping the device or removing the Mi account from the device could result in the timer being reset.
    g. After the waiting period expires, click "Unlock" in the Unlock app. You will notice the phone will restart followed by subsequent different screens during the phone's boot sequence including the "POCO" screen which now displays an "open lock icon" at the top, indicating your bootloader unlock attempt and will eventually end up on a "This device is locked" screen where you have to confirm you are the device owner by entering your Mi Account password to "activate this device"; connect to your WiFi prior to doing so if the device lacks an active sim card.

    FLASH CUSTOM RECOVERY, DECRYPTION DISABLER, & ROM THEN ROOT
    2. Download the Official ArrowOS v11.0-vayu fastboot ROM for POCO X3 Pro [direct link here].
    a. NOTE: ArrowOS requires MIUI V12.0.4.0 firmware so it recommended to downgrade to this version before flashing ArrowOS otherwise the ROM may not boot.
    b. Choose the GApps build type which "includes Play services and now some AOSP apps have been replaced with GApps... All GApps packages and other[sic] files [were] extracted from original firmware images for Pixel4XL (coral)."
    3. [OPTIONAL] Download the latest version of Encryption Disabler then copy it along with the fastboot ROM into a folder named 'TWRP' on the root of your microSD.
    4. Ensure USB Debugging is already enabled on your device (in Settings –> Additional Settings –> Developer options).
    5. Remove any screen unlock (i.e., fingerprint, PIN, pattern or password) in MIUI.
    6. Power off device and put it in Fastboot mode (Vol down + Power button).
    7. Download the latest SDK Platform Tools from Google for adb compatibility and create a folder called "adb" in the root of the "C:\" drive.
    a. Extract the files adb, AdbWinApi.dll, AdbWinUsbApi.dll, and fastboot into the folder.
    b. Ensure the latest USB drivers are installed for your PC, connect the device to the computer via USB cable, and confirm that your phone shows up recognized as "Android Bootloader Interface".
    c. Launch "Command Prompt" on your PC and run the command:
    cd C:/adb
    • To show a list of devices (including your phone) connected to your PC, enter the command:
    fastboot devices
    8. Download the unofficial Pbrb (test3) recovery file (PitchBlack Recovery Project 3.1.0 unofficial) by Alex Besida and copy it into the ADB install folder and rename it to "recovery.img".
    9. Flash custom recovery file in CMD, run commands:
    fastboot flash recovery "recovery.img"
    fastboot boot recovery.img
    10. Your device should automatically boot into custom recovery. At this point, the microSD will become accessible from recovery or the PC, but the device's internal storage will not be which makes using a microSD card much more imperative for this process since the recovery is in early access development.
    a. Go to Wipe –> Format Data, type "yes" to perform data wipe; Back out to the main menu.
    b. Go to Install –> Navigate to the TWRP folder on the microSD (via "external_sd").
    • Select "Arrow-v11.0-vayu-OFFICIAL-20210424-GAPPS.zip" and flash the ROM, but do not change any of the checkboxes that show up before doing so.
    • Format data (not wipe) before rebooting into the new ROM.
    • NOTE: At most it takes around 1 minute to boot back up.
    11. [OPTIONAL] Power off the device and boot back into recovery.
    a. Go to Install –> Navigate to the TWRP folder on the microSD.
    • Select " Disable_Dm-Verity_ForceEncrypt_11.02.2020.zip" and flash it, but do not change any of the checkboxes that show up before doing so.
    • NOTE: This will disable forced encryption of data partition for better performance and internal SD + Data mounting in TWRP. It's not needed for the ROM to work, but due to disabling encryption it compromises security.
    • Reboot into the new ROM.
    12. After going through the phone's boot sequence, you'll be presented with the initial phone setup process onscreen where you can begin recovering your data.
    13. Go to Settings –> About phone –>tap on Build number until it says Developer options is enabled.
    a. Back out to Settings –> System –> to access Developer options –> Enable USB Debugging.
    14. Installing Magisk via custom recovery will fail in the background, resulting in an unresponsive "POCO" screen which is caused by installer scripts not being able to properly detect the correct device info or the recovery environment does not meet its expectation. In this case, you will need to use the Patch Image method as it is guaranteed to work 100% of the time. Installing Magisk through custom recoveries on modern devices is no longer recommended due to this reason.
    a. Pull down the Notification Bar from the top of the screen and change "Charging this device via USB" to "File Transfer".
    b. Open " Arrow-v11.0-vayu-OFFICIAL-20210424-GAPPS.zip " and copy "boot.img" to the phone's internal storage.
    c. Download the latest version of Magisk (Magisk v22.1) and copy it to the phone's internal storage and use the native "Files" app to install the apk.
    • NOTE: Magisk binaries (ZIP) are now included within Magisk Manager APK file. Now you don’t have to download it separately. You can install the .apk file or rename its extension to .zip then flash it through custom recovery / TWRP.
    d. Launch Magisk from the app drawer and go to "Install" under Magisk –> "Select and Patch a File," select the "boot.img" you copied internally –> "LET'S GO".
    e. Copy the generated patched file to the ADB folder and flash it via fastboot by running the following commands:
    cd C:/adb
    fastboot flash boot boot.img
    f. Reboot into the new ROM and voila!
    fastboot reboot
    g. Use an app such as Root Checker or BusyBox Checker (from the Play Store) to confirm root status.
    h. To bypass/restore SafetyNet validation, open the Magisk app, go to Settings (cogwheel icon) and enable MagiskHide.
    5
    I have asked this question elsewhere but maybe somebody here has some experience. Is it possible to install ArrowOS OTA with another TWRP than from ArrowOS ?

    I'm asking because this AOS TWRP is very limited in functionality.
    So I have some breaking news:
    I can confirm that the latest unofficial alpha version of TWRP (TWRP-3.5.1-vayu-Nebrassy-1) is capable of decrypting and reading internal storage. Due to this advancement, I can also confirm that ArrowOS OTA updates will officially work using TWRP. There is NO NEED TO USE ANY OTHER CUSTOM RECOVERY BESIDES TWRP.
    3
    SIDENOTES:
    These are either my comments or other user's comments that may be considered helpful as it relates to ArrowOS

    Picture guide unlock bootloader, flash custom ROMs & root Xiaomi Poco X3 Pro (Credits to @pl1992aw)

    Using TWRP to install OTA Updates

    Installing OTA updates

    Stability of 'PitchBlack Recovery Project' Recovery

    How to verify SafetyNet status

    Feel feel to let me know of other threads or comments that are also related to installing ArrowOS.
    2
    Excellent guide (y)
    My suggestions in terms of improvements:
    - 7-day waiting time before unlocking: I would mention that wiping the device or removing the Mi account from the device could result in the timer being reset;
    - DFE/Encryption Disabler: it's optional, not needed for the ROM to work and thanks to disabling encryption it compromises security;
    - Firmware: Arrow OS requires MIUI V12.0.4.0 firmware, so before flashing Arrow OS it's recommended to downgrade MIUI to this version, otherwise the ROM might not boot

    In the future, once more custom ROMs come out, it should be easy to turn this guide into general flashing instructions instead and not just for Arrow OS, which would be a great resource to have here ;)