LONGPOST
Hello! Yes! I am back!
During all this time i was offline at Reddit and been gaining experience, now i have really much knowledge to give you!
Chapter 1: Choosing custom ROM
There are many Roms that the beginner could be confused, there are many groups and i would try to get popular and good (in my opinion) ROMs there:
Group 1: Features
Lightweight:
Lineage – stable ROM with huge community and least, but useful changes to it.
Paranoid Android – the rom that has everything following Android guidelines, and this means safetynet enabled so you could do banking payments and the other stuff (on most devices).
Customizable:
Resurrection remix – stuck on Android 10 because team cannot move on features to next version, it is MOST customizable ROM based on Lineage.
Crdroid – something like resurrection remix, but it has less customizations and moving on to next versions, which is good.
Spark OS – not that popular ROM, but it is really customizable and moves to next versions, has something exclusive like monet which was introduced in android 12!
Beginner friendly:
Pixel experience – if you need no struggle and you need everything to be set up, then choose this ROM, it is really good.
DotOS – ah, this rom gives me a pure shape how AOSP should look like, it has many features that mimic android 12 and somewhat Oxygen OS/ColorOS and has it’s own things included.
Group 2: Base system difference
AOSP:
This is how basic android looks, nothing interesting, ROMs i listed up there are based on AOSP, but it also has it’s own subcategory, which are CAF ROMs, CAF ROMs are different in speed and overall behave smoother on Qualcomm Processors, look out for them for your device!
OEM:
ColorOS – Cool ROM from OPPO with less bloat compared to MIUI, least Xiaomi devices have it.
OxygenOS – Almost like color OS, but has more feel of AOSP.
MIUI – ported to many devices and has many bloatware, you can install some modded ROM that would have no bloatware/more features
Linux distros (DANGEROUS):
There is only one global distro for most of devices, which is postmarketOS, it has most bugs, but it has really lightweight linux in it’s core and can run desktop apps, wouldn’t recommend to install if your device has many bugs listed.
Chapter 2: Mi unlock “how do i unlock?” “Why do i get errors?” And other questions people get.
If you would want to install a ROM on Xiaomi, then you should unlock your bootloader, without unlocked bootloader you couldn’t get any custom ROM to flash.
I am not responsible for thermonuclear war if you would flash something wrong, really, this tutorial is not exact and only based off my experience. Your data would be cleaned out!!!
AND DO NOT TRY TO BYPASS WAITING TIME, MAY LEAD TO A BRICK.
Requirements: phone with MI account + simcard linked to mi account.
First, Download miunlock tool on your computer (wouldn’t publish a link because i am aware that this would count as subreddit spam again.)
Next step you should enable developer settings through about phone→tap build number/MIUI version many times.
In the developer options enable usb debugging and OEM unlock, then head over to mi unlock, press link device, if it doesn’t go successful, then scroll to error list.
Now reboot in fastboot by turning off phone and holding vol- and power, you should see cute mitu bunny in… Hat with red star, fixing android… -_- (poco devices have sitting android only, no mitu mascot bunny)
After that plug in the phone and open miunlock tool. And sign in with your account, now you press unlock and… Ehh… “Wait X hours and try again”?
Why this happened?:
Xiaomi has a story of unfair resellers which sold phones with malware (do not mistake with bloatware) and to make it fair, you should prove that you’re not a reseller, just wait this amount of hours that program requested without resetting the phone and unlock again.
If you unlocked immediately, then your mi account is stated that it unlocked phones previously (you already were waiting a timer)
Successful and has a lock icon? Great! Not? Then follow errors and solutions.
Phone errors:
“Phone is already unlocked, why?”
This happens if the reseller installed global MIUI on Chinese phone, he unlocked bootloader.
Error 10008
You should try using VPN, maybe it would work.
Error 86006
Rarely happens on stable version of MIUI, try to install developer firmware
Error 20091
Issue in the phone by itself, it cannot be linked to your mi account. Go to service center and request to downgrade the phone.
Verification error / connect to the network and try again (when connected)
Turn off “phone searching” in mi account and try unlocking again
Error -1
Try to sign out of mi account, reboot and sign back in.
Pc errors:
Constantly in Fastboot: “press any key to shutdown” / cannot request parameter
Most often, the problem is the unfriendliness of the USB ports. Slow, “abandoned” usb is the best option. Or look for another computer, or try a USB hub, it’s better.
Ryzen CPUs in PCs get issues with fastboot, so you should seek for fix for this problem.
手机使用未达到指定时间,无法解锁
If you get this error in chinese, then try other versions of miunlock.
Chapter 3: flashing any custom recovery (HARDEST STEP OUT OF ALL)
So we are at the recovery step!
This is the most dangerous and device model dependant step, because some devices require this and some require that, these moments will be marked
So, firstly download adb/fastboot tools from ANDROID DEVELOPERS WEBSITE, NOT OTHERS.
After it is done, then extract your archive in one folder, and the recovery that is for your device.
Again: not responsible for thermonuclear bomb being dropped on you if you bricked a phone with wrong recovery. In most cases it would say that there is not enough space to flash it.
So! To flash a recovery, you should type cmd instead of folder path where fastboot is in the explorer window. The cmd window would show up.
Now this step is dependant on device:
Flash vbmeta that you should download and install with “fastboot flash vbmeta vbmeta.img”
Next steps are for all devices:
Flash recovery with “fastboot flash recovery recovery_file_name.img”
Recovery_file_name is your name of recovery that you downloaded
Now you boot in recovery by holding vol+ and power on fastboot screen till phone reboots and shows TWRP logo, if it boots in system, then recovery would be replaced and you would need to reboot back in fastboot and repeat steps in “flash recovery with…”
If you have successfully booted in TWRP, then congratulations! You’ve nailed the hardest part!
Chapter 4: flashing ROM (depends from device to device)
So, time to wipe storage and flash a ROM!
Most of these steps that we follow, we should remember and call it clean flash mandatory.
1. Wipe partitions (DEVICE DEPENDANT)
2. Flash firmware (DEVICE DEPENDANT)
3. Format data
4. Reboot in recovery
5. Install ROM zip
6. Install other zips if needed like Gapps (google apps) which depend on ROM, decryption zips also depend.
7. When rebooting, do not accept to install twrp app.
And now, dramatic moment… REBOOT!
Bootloop on ROM logo? Format data!
Phone stuck on phone logo? It cannot boot in ROM, flash something different.
So, i wasted 1 day on writing this guide, but it was something special for me to do after gaining knowledge and seeing how my past guides were not as exact as they seemed previously.
And maybe if you were reading, your phone would probably boot at this moment, if booted, then congratulations! You nailed custom romming. Happy new adventures with your fast and customizable phone!
Yoo, you again! Very nice and detailed guide!👌👍
Thanks! I’ve made a lot of improvements since i wrote my last post, planning to install linux on my Redmi Note 8T when i would get a new phone!
Wow, well done for your determination!😅
Thanks for this info, although I have a question, should we flash magisk and firmware before flashing the rom file or after flashing the rom file?
It doesn’t matter, you could flash it any time (not before the wipe) but i usually flash it after the 1st boot.
Why can’t I find an answer about the Request Parameter Error when I use Mi Unlock on my Xiaomi Redmi note 5 global? 🙁
Look better in it, i have mentioned the errors with same solutions in one place, for your error, it says that you should try old USB or other pc. On the other hand, if you have amd pc, then switch to the intel pc for unlocking/flashing recovery, or search for amd fix.
Nice post, thanks a lot!
Excuse me I just saw this, thank you for responding. But the problem is that I have an AMD processor and I don’t have an INTEL processor 🙁
Thanks for posting this as my phone’s bootloader unlock timer ends today! It’s a Poco X3 Pro and I cannot wait to install Pixel Experience Plus on it. Can you link me the website for the adb/fastboot tools? Also, I heard that you have to flash some disable dm varity file so that the recovery stays permanent
There are some fixes that could help you, some were published at XDA, but i recommend you to plug in phone to slow usb first.
Disable dm verity is more of Android verified boot/encryption disabler, if you don’t want your recovery to show gibberish folders in your storage, then flash it before 1st boot of ROM, recovery usually stays permanent after successful boot in it, like locks automatically. I would try to link ADB/Fastboot tools, but scared if automod would delete messages.
Okay, here it is! https://developer.android.com/studio/releases/platform-tools
Extract like in tutorial and follow next steps!
No problem!
Thank you all for such a warm welcome for this post! I thank all people that gave awards, i would help people in comments section if someone’s lost!
When you say plug in slow USB, are you talking about USB 2.0?
Yeah, you could even go with slower ones
And the XDA patches you have a link? Because when I do my research I come across tutorials.
https://forum.xda-developers.com/t/fix-fastboot-issues-on-ryzen-based-pcs.4186321/
On XDA it tells that this file adds some registry keys, worked on PC’s of my friends, but still use with caution.
Okay, thank you my friend for helping me, I’ll inquire about that. I don’t know much about bootloader on Xiaomi, I did it on Samsung and it was quite fast and convenient but on Xiaomi it’s a little more complicated 😅
Samsung uses ODIN protocol unlike Xiaomi, and AMD CPUs support ODIN, but don’t support fastboot or even ADB! That is strange for sure.
Thanks! This is my first te doing this so I needed a bit of help!
Okay. I’ll boot it. Is the disable DM verity file device specific?
Exactly, this file varies by device, some may have one file, some may have a different file, for my device it’s disable dm-verity force encrypt 2020
What would it be for my device? I’m very new so I don’t get it all.
You should look into one of tutorials for your device specifically, it should have that one file, if it doesn’t, then just don’t flash.
Okay. Thanks!
Tutorials say about something called ‘Disable Force Encryption’ is that the same thing?
Also some ppl on reddit say that it is a risk for security. Is that true?
Encryption can be easily broken, so it’s useless anyways, the overall custom romming is secure if you know how to maintain your phone properly (like do not download sussy apps and more)
if I have previously unlocked my bootloader and relocked it, do I need to wait again to unlock?
No! The device is still linked, so it would unlock immediately!
While looking for vbmeta file for my Redmi Note 10 pro max in xda threads, they talk about extracting it from “fastboot rom” or “recovery rom”. I am a noob to the custom rom world so everything [in this thread where I was looking for the vbmeta file](https://forum.xda-developers.com/t/help-vbmeta-file-for-redmi-note-10-pro.4379755/) is going over my head, what is a fastboot rom?
Can you please tell me what are they talking about?
And thanks a lot for your guide!
To be exact, he told about *stock* vbmeta, this vbmeta protects device from flashing anything other than stock miui, fastboot ROM is a stock rom in zip format which has all partitions inside (img files) if you want to LOCK bootloader, then you need to restore vbmeta.
If I want to install a custom rom, which vbmeta.img do I need?
From googling what I found out that it is device specific, and is found by “extracting the stock firmware”.
How do I extract the stock firmware?
Sorry for sounding so clueless as I never flashed a custom rom before, and tutorials on YouTube don’t talk about flashing vbmeta file, and once again thanks for your help
To be exact, you need empty vbmeta, BUT i think that your device doesn’t need empty vbmeta, stock firmware can be get in zip archive form from “Xiaomi firmware updater” website, then extract the vbmeta img and reboot in fastboot. After you reboot in fastboot, you just do “fastboot flash vbmeta *vbmeta.img path here*”
I am warning you, you need to get EMPTY vbmeta, and what are you trying to get is not empty vbmeta.
Okay, so, if I want to flash a custom rom, I need to get EMPTY vbmeta, am I correct?
Is this EMPTY vbmeta device specific?
About that… I don’t know exactly, anywhere i saw tutorials for my devices, they required to flash vbmeta, i couldn’t tell the difference between these files to be honest.
On forum for your device exactly, no one talked about vbmeta, so i am not even sure anymore if you need it or no, if your phone will not boot in TWRP after flashing ROM and will be stuck at fastboot, then you just try to search for empty vbmeta.
Olay I better create an xda thread asking for clearer info on vbmeta
Another thing, do you know if I need to have an sdcard or otg cable+pendrive to flash a custom rom? Most of the people use an sdcard, but I don’t have one
Can I do it from the internal storage or with the help of my pc (like drag and drop the file into the internal storage)
Yes you can! Your phone should show up as a media player in Windows file manager (if connected).
But if it doesn’t, then go in Windows device manager select your device and then you right click on it and install different drivers (unknown device i guess, just don’t select ADB interfaces)