Xiaomi Redmi Note 12 Pro Plus 5G

I am requesting for support of /e/os rom for Xiaomi Redmi Note 12 Pro Plus 5G url to xiaomi page. Unfortunately I haven’t found compatible custom roms for it. I assume it is because the device is new to the market. My device runs Android 12 and Miui 14 Global.

Thank you

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

You can try GSI builds:

Anyway, please refer to device’s community:

Hope that helps.

1 Like

Thanks for your response. yeah… flashing the gsi sounds promising (except the issues mentioned in blog you linked which makes me extra uncertain because tutorial doesn’t warn about the possible troubles).

I have nothing left than flashing the gsi and checking if it would work for me i guess…

Flashing /eOS ‘Q’ V.14 GSI on a Xiaomi Redmi Note 12 Pro Plus 5G (ruby) will not be successful. Also, a /e/GSI “S” or “T” is not to be expected in the medium term [ “we do have developer bandwidth issues” ], if at all.

However, it’s possible to upgrade to the current stock Android 13 ( V14.0.1.0.TMOMIXM ) and for example a GSI “13” ( lineage-20-light or lineage-20-td ) from the GSI Guru Andy Yan. Andy Yan’s personal builds support ‘Signature spoofing’ and thus operation with microg/GmsCore - as with /e/ OS - is possible.

It’s always worth one or more GSI installation sessions to free yourself from Xiaomi’s clutches.

1 Like

Thank you for the message.

I realized how many things I must do before flashing anything.
First thing is that somehow me device is running european miui but in device info I clearly see miui global. OTA upgrade from file doesn’t work so I need to fastboot the rom with android 13. I found out that unlocking bootloader also take some time (I need to wait one week) EDIT: I’ve found solution for that by doing instant unlock.

However, degoogling gives me motivation to do so. Is the Lineage GSI worth it? Will it be reliable as daily driver? Maybe I should browse some more the internet…

Correct. The first step is to upgrade to Stock Android 13, e. g.:

Redmi Note 12 Pro / Pro+ 5G Global Stable Fastboot V14.0.1.0.TMOMIXM 13.0 7.4 GB 2023-07-14

Installing usually works easily and safely with the Official Mi Flash Tool

1 Like

Andy Yan’s LineageOS builds and code is what most of the current available custom GSI’s are built on. He is the lifeblood of GSI builders.

That remains to be seen. A GSI is not a device-specific custom ROM. Since there is no /e/OS “T” GSI, Andy Yan’s GSI builds are the best place to go.

1 Like

Update: the method i’ve found to instantly unlock bootloader isn’t supported on my redmi - different cpu architecture or sth. Therefore, I’ve applied for official unlock which takes week.

next thing is gonna be flashing rom update with mi flash tool (thanks for recommendation). Then I open terminal to flash the gsi with fastboot commands. At this point I should have working LOS?

Do you see any steps I should improve?

Does the flash tool allow to flash non-stock rom?

Does the rom you recommended comes with microg out of the box?

Thank you!

Waiting 168 hours for the official bootloader unlock is normal, even “fast” for a relatively new model like yours.
. . .
Use the waiting time to learn the next steps and understand what they do.

I looked at the data structure and MT6877_Android_scatter.txt of the compressed 7.4 GB file V14.0.1.0.TMOMIXM, and - would use fastboot instead of the Xiaomi flash tool.

(Windows) .\ flash_all.bat
(Linux) .\ flash.all.sh

Your ‘ruby’ uses as system.img the file super.img. In the meantime, familiarize yourself with fastboot ‘D’ Mode.

. . .

A special feature of Andy Yan’s GSI builds is its signature spoofing support. This is not the rule with GSI images. Most Android 13 GSI ‘vanilla’ images do not support signature spoofing out of the box, especially LineageOS GSI images.

If you use MagisK v.26.1, you can use the MagisK Modules feature and thus different versions of MinMicroG. The advantage is, you can always use different MicroG versions or uninstall them without a trace. MagisK can also uninstall itself without leaving a trace.

1 Like

Thanks again for your help!

Sorry for being completely dumb. You’ve definitely noticed it’s my first attempt to custom roms.

Meanwhile, while waiting for oem unlock, I took your advice and prepared a plan in order to do everything properly. Can you take a look, please?

  1. Flashing mi firmware with a13 (after successful unlock of bootloader ofc)
  • Shut down the phone. Then enter fastboot mode and connect with cable.
  • In terminal: cd into downloaded ruby fastboot rom and run “./flash_all.sh”.
  1. Flashing twrp (I’m not sure if it is necessary, but i don’t see easier way to get both los and microg) Could you tell me if there is better way for my goal? The following plan, I’ve came up with, rely on presence of twrp…
  • Following the guide from that page (i cannot say if non-official custom recovery is safe) i can obtain twrp
  1. Flashing lineage os
  1. Installing microg
  • Thanks to your suggestion, i’ve found that there is such thing as minmicrog with can be easily installed microg with twrp - just download minmicrog from github and install it in twrp. [guide on indivious]

So here is my question. Can i proceed with step 3 and especially with step 4 without custom recovery or rooting with magisk?

Re 1. + 2.
You are on the right way.

Re 3.
TWRP is a valuable tool, but a GSI Treble supporting version of TWRP (or others) is probably not available for your ‘ruby’ (currently). On the other hand - a custom recovery is not mandatory to install a GSI image.

Use ‘Vanilla’ build ineage-20.0 arm64_bvN .img

Orient yourself on GSI /e/ documentation as a guide.

fastboot reboot fastboot = fastboot ‘D’ modus … important!
fastboot flash system system.img = system.img is created by extracting the *.img.xz file

It may be that isn’t necessary (?!): fastboot flash --disable-verity --disable-verification boot boot.img

I about to start a first try only with: fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img

vbmeta.img = original stock Android 13 vbmeta.img

Note: This varies from device to device. I don’t know any other way than trial & error.

Re 4.
Since I don’t know any TWRP or other custom recovery for the ‘ruby’, I only see the possibility to install MinMicroG either manually (with considerable additional work) or simply and safely via MagisK module.

1 Like

I’ve finally started to feel more comfortable after finding some useful resources. Obviously, I owe most of this to you. Thanks to your suggestions, I’ve finished my plan which I’d extended with rooting:

  1. Flashing firmware with Android 13
    • Shut down the phone. Then enter fastboot mode and connect with cable.
    • In terminal: cd into downloaded ruby rom and run “./flash_all.sh”.
  2. Flashing Lineageos
    • Enter fastboot mode and connect once again.
    • Use commands below:
      • fastboot reboot fastboot
      • fastboot getvar is-userspace ← must return “yes”
      • fastboot erase userdata
      • fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
      • fastboot flash system system.img
      • fastboot reboot-bootloader
      • fastboot reboot
  3. Rooting with Magisk
    • Download apk from github and install it.
    • Transfer boot.img file from extracted stock room.
    • In the app tap “Install” and then “Select and Patch a File”
    • Rename the created file to “magisk_patched.img” if it haven’t been already.
    • Move the file to the computer.
    • Run “adb reboot bootloader” and then “fastboot boot magisk_patched.img”
    • Go back to the app and now in “Install” tap “Direct Install”
    • Tap “Reboot” after successful installation.
  4. Installing minmicrog
    • Download chosen zip file from minmicrog’s github repository.
    • Go to “Modules” section in the Magisk app.
    • Install module by choosing the downloaded file.
    • Setup microg.

Do you see any potential issues with my approach?

Thank you very much

You are definitely on the right track. I’m glad to see that you learned quickly and probably understood what you were doing. I think the latter is particularly important.

My GSI experience is that successful GSI installation also depends heavily on the correct sequence of commands. I’ll post my installation idea (order of the commands) shortly.

But first a tip: Be careful with erase command ‘erase’ and use ‘delete’ instead for safety’s sake. Why? Well, …

delete only deletes the partition
erease eleminates the partition

Key Difference:
. . . . .
Delete refers to removing files from one place, but it is still there in another place.

Erase refers to the ability to remove something from a certain place. Once it is erased, it is gone from existence.

See you.

1 Like


for safety’s sake, please check if the bootloader is unlocked and if your device has a critical partition:

fastboot oem device-info
fastboot getvar all

The result could be like this:

(bootloader) Verity mode: true
(bootloader) Device unlocked: true
(bootloader) Device critical unlocked: false
(bootloader) Charger screen enabled: false
OKAY [ 0.016s]
finished. total time: 0.031s

It may or may not be { It’s a game OR no risk, no fun :-)) }
necessary to execute this command: fastboot flashing unlock_critical

Please note!
This suggestion comes from my knowledge and best conscience, but is without guarantee of success, because I don’t have an identical device. So it’s pure theory :o))

If something goes wrong, try to stay calm.
Even if the screen stays black after booting or no fastboot command works anymore - there is a big chance to fill the device with life again by flashing Stock Android again - with the SP-FlashTool.

So, if I were now faced with the task of changing the OS of the ‘ruby’, I would proceed as follows:

adb devices
adb reboot bootloader
fastboot devices
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot reboot bootloader
fastboot flash boot magisk_patched_boot.img
fastboot reboot bootloader
fastboot reboot fastboot ===== IMPORTANT! ====== fastboot’d’ modus
fastboot flash system system.img ===== Andy Yan’s Vanilla build lineage-20.0 arm64_bvN .img =====
fastboot reboot bootloader
fastboot -w
fastboot reboot

Set up device, enable OEM developer mode, etc.

Transfer MinMicroG.zip to /Downloads or /root
Install Magisk_v26.1.apk and go to “Modules” section in the Magisk app and install your MinMicroG.zip package.

Good luck :crossed_fingers: happy flashing

1 Like


Oh, because you’ve written, I will surely take into consideration to look at a result of that:

According to your list of commands, it’s ok to flash system.img in fastbootD only and the rest in regular fastboot (bootloader) earlier, isn’t it?

Since you used above command, there is no longer need for using fastboot delete (not erase!) userdata, right?

One more thing. As following your steps of flashing LOS, I’ve noticed that:

Do I understand that I should patch boot.img of stock mui android 13 room, still being at my current os (android 12)? I suppose it is because of safety considerations and I should download magisk, patch the file and transfer to my machine. Is that correct?

Thank you one more time for all your help!

Yes, correct.

Yes, correct. The later command fastboot -w includes delete userdata.

Yes, correct. Patch the boot.img from stock Android 13 ( e. g. V14.0.1.0.TMOMIXM ). Magisk patching can be done on your ‘ruby’ or on any other Android device.

Rooting with Magisk makes it possible to work with Magisk-Modules. This module makes it very easy to install MinMicroG packages.

I’m curiously to see how our experiment will go. If you run into any problems, let me know.

1 Like

Thank you for for clarifying!

I’m so glad, you’ve contributed that much and also that you’re interested how things will turn out. At this point I think most of my biggest concerns are gone.

There is nothing more I can say except reporting my thoughts in a few days after the bootloader will be ready to unlock and I will start flashing.

See you!

My ambition is to free as many Android devices as possible from stock Android. I would prefer to be able to equip every device with /e/ builds, but unfortunately this is not possible at the moment.

rephone© the first CO2 neutral smartphone. Honored with German Award for Sustainability Projects 2022.

I just changed the OS of a rephone© with stock Android 12 to Andy Yan’s vanilla build lineage-20.0 arm64_bvN (Android 13), because unfortunately there is no /e/OS ‘T’ yet. It runs fine and is a good daily driver.

1 Like

I’ve ended up with boot loop while attempting to enter fastbootD. I’ve done everything as you told. I can go to normal fastboot mode but the “fastboot reboot fastboot” still gives boot loop. “fastboot reboot recovery” doesn’t work also. I’m desperate. Maybe there is something wrong with adb tools from arch repository, I dunno…

Android-Recovery as well as fastboot ‘D’ is part of the stock firmware, so it must still be in the system and is indispensable.

I would reinstall stock Android with the SP flash tool and then test the Android recovery and fastboot’D’ for functionality to start over.

Please remember: It’s always worth one or more GSI installation sessions to free yourself from Xiaomi’s clutches.

1 Like