How To Guide Flashing GSI roms on Redmi Note 10S and then fixing some issues, all without any custom recovery

Search This thread

oxxo.andatti

Senior Member
Mar 28, 2017
91
3
Redmi Note 10S
Install this rom with the following commands, but when the phone reboots and never loads properly, does anyone know why?

fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot reboot fastboot
fastboot -u flash system dotOS-R-v5.2-arm64-ab-VANILLA-OFFICIAL.img
fastboot -w
fastboot reboot
 

majorbrain20

Member
Feb 23, 2022
5
0
By Following this guide, you will lose your warranty so keep that in mind before you begin. (Although you have probably already lost your warranty by unlocking the bootloader)

This guide will help you to flash any GSI (Project Treble) ROM onto your Redmi Note 10S, and since TWRP, or any custom recovery for that matter, is not yet available, we have to manually install the GSI roms using fastboot (and fastbootd because of the dynamic partition). The process is lengthy but not that difficult.

It should go without saying that you should backup everything and be prepared to lose your data and potentially soft-brick your phone and the experience with GSI roms is not always known to be stable (although I have not seen any such problems yet aside from a few easy-to-fix bugs) so do all of this at your own risk.

Important to note is that if at anytime you mess stuff up or delete partitions you weren't supposed to (whatever the guides may say, don't erase the product partition, it won't help, you're gonna end up in a bootloop) and soft-brick your phone, as long as you can access fastboot you can easily fix the problem by using the MiFlash tool which will help you get back to square one (you won't have to wait to unlock the bootloader again so don't worry about that)

Now, for the disclaimer:
DISCLAIMER: I'm an amateur in terms of tinkering with android stuff and phones in general. The process mentioned below has worked on my phone but I would still recommend waiting for someone more....experienced to weigh in his/her opinions. If you end up bricking your phone or if things go south, I'm not responsible, that's on you.

NOTE:
When I mention fastboot I'm referring to the standard "normal" fastboot and when I mention fastbootd, I'm referring to the dynamic/userspace fastboot which is different (which wiil be indicated by the fastboot screens during either of the modes)

I should mention that using this method I have been able to flash DotOS, Android 12 Beta 5, CorvusOS (my current daily driver) and in my daily driver (Corvus OS), It's passing SafetyNet and the WideVine certification is still at L1 even after rooting, however I have tested neither Google Pay nor Netflix, because I don't use either of them so your mileage may vary, however I did find Netflix in the play store so that is a bit encouraging ig.

Alright, with the appetizers out of the way, let's crack on to the main course:

PART 0: Requirements:-

Please ensure that the following requirements are met:
  • A Redmi Note 10S with an unlocked bootloader
  • OEM Fastboot driver and Fastbootd driver is installed
  • A preferred GSI rom (the file extension should be .img)
  • Being prepared to lose your data
  • Obtain android platform-tools along with knowledge about how to use it
  • Acceptance that the newly flashed GSI rom may/may not be completely stable.
  • Fastboot rom from here
If you have all that, you can move on to the next step

PART 1: Get Straight to Flashin':

This guide is rather straightforward because there really isn't much to it.

To begin with, extract the vbmeta.img from the Fastboot rom. Once you have done that, reboot your phone to fastboot mode.
Once the phone is in fastboot mode, on your computer, run the following command:
Code:
fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
to disable what is the android equivalent of window's secure boot

Once that is done, issue the following command:
Code:
fastboot.exe reboot fastboot
(No, there is no typo here, this is what needs to be done to enter the fastbootd mode, which is where the real fun begins)

Ensure that you are in fastbootd mode. The blue coloured "fastboot" text at the bottom will be replaced by a yellow coloured "fastbootd"

Okay, now for the most important command, type:
Code:
fastboot.exe -u flash system your_gsi_rom_of_choice.img

Done!

After this, don't forget to factory reset your device by:
Code:
fastboot.exe -w

Note: If you forget to do the factory reset, you're gonna end up with a frankenstein combination of your new and some configs of your previous rom, in this case reboot to bootloader (using power and volume down) and issue the factory reset command (fastboot -w)

And then for the toppings:
Code:
fastboot.exe reboot

That's.....about it. You should boot into your chosen rom. For the first time, the boot animation may stick around for a long time (5 minutes or more). However, if, even after an absurd amount of time (15-20), the rom doesn't boot up, try using MiFlash tool to get back to square one and try the whole process again.

Once it boots up, continue with the setup process and you will (hopefully) be at the home screen of your new rom.

PART 2: Le Bugs

Of course, no software is perfect and considering the especially ambitious nature of Project Treble, it is no surprise that you will encounter some bugs. 2 bugs in particular are the disabled headphone jack and the wonky brightness slider.

Here's how I fixed them in CorvusOS (most probably applies in other ROMs as well)

1. Disabled Headphone Jack:

Once you boot up the rom, you'll notice that the headphone jack will not work; the audio will only play on the speaker. To fix this one, you unfortunately need to root your phone (although that's not necessary, try looking into the Device Specific customisations of your rom).
Through your computer, issue the following commands (one-by-one, don't copy-paste them):
Code:
adb shell
su
setprop persist.sys.overlay.devinputjack true
reboot

Your phone will now reboot and once it does, you will see that the headphone jack is functioning normally again.

2. Brightness Slider Fix:

This one does not require any root. However, this does require that you can access the device specific customisations,

So, in my case, I had to go into {Device Name} Settings > Misc features and then tick the Force alternative backlight scale . Once you have done that, reboot and your brightness slider will be working properly again. Also, if you noticed sudden fluctuations after booting or when device goes to sleep earlier, that should all be fixed as well.


Conclusion:

At this point, you should be ready to rock the world along with your phone. Depending upon the rom you have chosen (DotOS for example), your widevine certification and safetynet may be compromised, even after trying out several fixes (which is what happened in my case). So if that happens to you, I suggest that you either change your rom, hunt around for some solutions or just, you know, live with it.
In my case, (As I mentioned before) I'm using CorvusOS where the widevine rating and safetynet are unaffected, with the latter requiring some special fixes.

Hope that helped. I look forward to hearing from you people about any recommendations or discussion. If you have any problem with the process or think that something may be wrong, post it in the replies and I'll be happy to get back to you (depending upon the time, of course)
please the command
fastboot.exe reboot fastboot
give error
PS C:\Users\AYOMIDE\Desktop\FLASHING GSI ON REDMI NOTE 10S\PlataformTools - RN10s> fastboot reboot fastboot
fastboot: usage: unknown reboot target fastboot
pls help

well i just got a way to the fastbootd through adb
adb reboot fastboot
but am still getting error
failed (remote operation not permitted)
 
Last edited:

jacobpayag

Senior Member
Sep 24, 2014
108
45
Laguna
Redmi Note 10S
please the command
fastboot.exe reboot fastboot
give error
PS C:\Users\AYOMIDE\Desktop\FLASHING GSI ON REDMI NOTE 10S\PlataformTools - RN10s> fastboot reboot fastboot
fastboot: usage: unknown reboot target fastboot
pls help

well i just got a way to the fastbootd through adb
adb reboot fastboot
but am still getting error
failed (remote operation not permitted)
Are you sure that your bootloader is unlocked?
 

majorbrain20

Member
Feb 23, 2022
5
0
Finally got my gsi flashed I'm posting this from the corvus is v17 arm64 a_b gsi
Stable no bug except the jack which I did fixed with adb
 

majorbrain20

Member
Feb 23, 2022
5
0
Here's the screenshot from my REDMI note 10s
I also tested the dot Os 5.2 and it worked but I prefer the corvus. They're both smooth tho.
 

Attachments

  • Screenshot_20220322-154129_Raven_Launcher.png
    Screenshot_20220322-154129_Raven_Launcher.png
    453.6 KB · Views: 169
  • Screenshot_20220322-154135543.jpg
    Screenshot_20220322-154135543.jpg
    200.9 KB · Views: 169
  • Screenshot_20220322-154146559.jpg
    Screenshot_20220322-154146559.jpg
    139.7 KB · Views: 168

prasadkumar4

New member
Mar 16, 2022
3
0
I managed to install correct pixel experience, but the audio connector does not work
1st way:

try enabling this option it will work : settings > Phh Treble Settings > Misc Features > Use alternative way to detect headsets.

2nd way:

1. Disabled Headphone Jack:

Once you boot up the rom, you'll notice that the headphone jack will not work; the audio will only play on the speaker. To fix this one, you unfortunately need to root your phone (although that's not necessary, try looking into the Device Specific customisations of your rom).
Through your computer, issue the following commands (one-by-one, don't copy-paste them):
Code:
adb shell
su
setprop persist.sys.overlay.devinputjack true
reboot

Your phone will now reboot and once it does, you will see that the headphone jack is functioning normally again.
 

oxxo.andatti

Senior Member
Mar 28, 2017
91
3
Redmi Note 10S
1st way:

try enabling this option it will work : settings > Phh Treble Settings > Misc Features > Use alternative way to detect headsets.

2nd way:

1. Disabled Headphone Jack:

Once you boot up the rom, you'll notice that the headphone jack will not work; the audio will only play on the speaker. To fix this one, you unfortunately need to root your phone (although that's not necessary, try looking into the Device Specific customisations of your rom).
Through your computer, issue the following commands (one-by-one, don't copy-paste them):
Code:
adb shell
su
setprop persist.sys.overlay.devinputjack true
reboot

Your phone will now reboot and once it does, you will see that the headphone jack is functioning normally again.

thanks if I managed to solve the audio output, now the only detail I have is with the audio via bluetooth
 

oxxo.andatti

Senior Member
Mar 28, 2017
91
3
Redmi Note 10S
phone never boots and sends me to recovery, if no recovery is flashed it just says Operation not permitteed and my firmware screws up and no OS is found. but in fastbood's everything flashes, i wipe everything, everything is a success and there are no fails. auto sends me to fastboot even tho it detects an OS? wtf? https://github.com/ponces/treble_build_pe/releases/tag/v411.1

I had the same reboot problem but you can solve it in the following way.

1- Download the vbmeta.img file
2- Download the rom https://github.com/ponces/treble_build_pe/releases
3- Run the following commands, your bootloader must be unlocked

fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot reboot fastboot
fastboot --u flash system PixelExperience.img
fastboot -w
fastboot reboot

4- fix the following errors

Fix Bluetooth
> Settings > Phh Treble Settings > Misc features > Force-disable A2DP offload

Fix Disabled Headphone Jack
> Settings > Phh Treble Settings > Misc Features > Use alternative way to detect headsets.

Fix Enabled VoLTE
> Settings -> Phh Treble Settings -> IMS features
1. Install IMS APK for Mediatek R vendor -> click on it and manually install the downloaded APK file
2. Request IMS network (should be checked)
3. Force the presence of 4G Calling .. (should be checked)

Fix slow device
> Settings -> Phh Treble Settings -> Misc Features -> Disable HW overlays

Fix glitter bar
> Settings -> Phh Treble Settings -> Misc Features -> Force alternative backlight scale
 

Attachments

  • vbmeta.img
    4 KB · Views: 44

pumpkin072618

Senior Member
Feb 24, 2019
67
15
Can someone help me?
I already installed the drivers needed and followed every step carefully. But when flashing the gsi_rom.img (on my case it's pixel experience). I get an error saying
INVALID SPARSE FILE FORMAT AT HEADER MAGIC and then NOT ENOUGH SPACE TO RESIZE PARTITION.

Also, is it okay that when i fastboot reboot fastboot it directs me to my custom recovery(ofox) but it says i'm on the fastboot ??
Please help. Want to experience gsi rom. Thanks
 

pumpkin072618

Senior Member
Feb 24, 2019
67
15
I got it.

I used miFlash to install the official ROM.
Then I successfully executed the commands as below.

Code:
Microsoft Windows [versão 10.0.19044.1415]
(c) Microsoft Corporation. Todos os direitos reservados.


C:\Windows\system32>cd C:\Xiaomi\platform-tools


C:\Xiaomi\platform-tools>fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta_a' (4 KB)                          OKAY [  0.008s]
Writing 'vbmeta_a'                                 OKAY [  0.001s]
Finished. Total time: 0.041s


C:\Xiaomi\platform-tools>fastboot.exe reboot fastboot
Rebooting into fastboot                            OKAY [  0.001s]
< waiting for any device >
Finished. Total time: 12.682s


C:\Xiaomi\platform-tools>fastboot.exe --u flash system dotOS-R-v5.2-arm64-ab-VANILLA-OFFICIAL.img
Resizing 'system_a'                                OKAY [  0.004s]
Sending sparse 'system_a' 1/10 (262140 KB)         OKAY [ 12.644s]
Writing 'system_a'                                 OKAY [  1.146s]
Sending sparse 'system_a' 2/10 (262140 KB)         OKAY [ 12.413s]
Writing 'system_a'                                 OKAY [  1.095s]
Sending sparse 'system_a' 3/10 (262140 KB)         OKAY [ 12.484s]
Writing 'system_a'                                 OKAY [  1.133s]
Sending sparse 'system_a' 4/10 (262140 KB)         OKAY [ 12.446s]
Writing 'system_a'                                 OKAY [  1.109s]
Sending sparse 'system_a' 5/10 (262140 KB)         OKAY [ 12.414s]
Writing 'system_a'                                 OKAY [  1.140s]
Sending sparse 'system_a' 6/10 (262140 KB)         OKAY [ 12.388s]
Writing 'system_a'                                 OKAY [  1.120s]
Sending sparse 'system_a' 7/10 (262140 KB)         OKAY [ 12.404s]
Writing 'system_a'                                 OKAY [  1.122s]
Sending sparse 'system_a' 8/10 (262140 KB)         OKAY [ 12.388s]
Writing 'system_a'                                 OKAY [  1.121s]
Sending sparse 'system_a' 9/10 (262140 KB)         OKAY [ 12.365s]
Writing 'system_a'                                 OKAY [  1.106s]
Sending sparse 'system_a' 10/10 (117804 KB)        OKAY [  5.505s]
Writing 'system_a'                                 OKAY [  0.592s]
Finished. Total time: 186.606s


C:\Xiaomi\platform-tools>fastboot.exe -w
Erasing 'userdata'                                 OKAY [  0.623s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Erasing 'metadata'                                 OKAY [  0.004s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Finished. Total time: 0.669s


C:\Xiaomi\platform-tools>fastboot.exe reboot
Rebooting                                          OKAY [  0.001s]
Finished. Total time: 0.005s


C:\Xiaomi\platform-tools>
Hello sir! I noticed that i encounter same error as you in flashing gsi rom. My question is do you really reflash the official whole rom to fix it? Thanks.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    By Following this guide, you will lose your warranty so keep that in mind before you begin. (Although you have probably already lost your warranty by unlocking the bootloader)

    This guide will help you to flash any GSI (Project Treble) ROM onto your Redmi Note 10S, and since TWRP, or any custom recovery for that matter, is not yet available, we have to manually install the GSI roms using fastboot (and fastbootd because of the dynamic partition). The process is lengthy but not that difficult.

    It should go without saying that you should backup everything and be prepared to lose your data and potentially soft-brick your phone and the experience with GSI roms is not always known to be stable (although I have not seen any such problems yet aside from a few easy-to-fix bugs) so do all of this at your own risk.

    Important to note is that if at anytime you mess stuff up or delete partitions you weren't supposed to (whatever the guides may say, don't erase the product partition, it won't help, you're gonna end up in a bootloop) and soft-brick your phone, as long as you can access fastboot you can easily fix the problem by using the MiFlash tool which will help you get back to square one (you won't have to wait to unlock the bootloader again so don't worry about that)

    Now, for the disclaimer:
    DISCLAIMER: I'm an amateur in terms of tinkering with android stuff and phones in general. The process mentioned below has worked on my phone but I would still recommend waiting for someone more....experienced to weigh in his/her opinions. If you end up bricking your phone or if things go south, I'm not responsible, that's on you.

    NOTE:
    When I mention fastboot I'm referring to the standard "normal" fastboot and when I mention fastbootd, I'm referring to the dynamic/userspace fastboot which is different (which wiil be indicated by the fastboot screens during either of the modes)

    I should mention that using this method I have been able to flash DotOS, Android 12 Beta 5, CorvusOS (my current daily driver) and in my daily driver (Corvus OS), It's passing SafetyNet and the WideVine certification is still at L1 even after rooting, however I have tested neither Google Pay nor Netflix, because I don't use either of them so your mileage may vary, however I did find Netflix in the play store so that is a bit encouraging ig.

    Alright, with the appetizers out of the way, let's crack on to the main course:

    PART 0: Requirements:-

    Please ensure that the following requirements are met:
    • A Redmi Note 10S with an unlocked bootloader
    • OEM Fastboot driver and Fastbootd driver is installed
    • A preferred GSI rom (the file extension should be .img)
    • Being prepared to lose your data
    • Obtain android platform-tools along with knowledge about how to use it
    • Acceptance that the newly flashed GSI rom may/may not be completely stable.
    • Fastboot rom from here
    If you have all that, you can move on to the next step

    PART 1: Get Straight to Flashin':

    This guide is rather straightforward because there really isn't much to it.

    To begin with, extract the vbmeta.img from the Fastboot rom. Once you have done that, reboot your phone to fastboot mode.
    Once the phone is in fastboot mode, on your computer, run the following command:
    Code:
    fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
    to disable what is the android equivalent of window's secure boot

    Once that is done, issue the following command:
    Code:
    fastboot.exe reboot fastboot
    (No, there is no typo here, this is what needs to be done to enter the fastbootd mode, which is where the real fun begins)

    Ensure that you are in fastbootd mode. The blue coloured "fastboot" text at the bottom will be replaced by a yellow coloured "fastbootd"

    Okay, now for the most important command, type:
    Code:
    fastboot.exe -u flash system your_gsi_rom_of_choice.img

    Done!

    After this, don't forget to factory reset your device by:
    Code:
    fastboot.exe -w

    Note: If you forget to do the factory reset, you're gonna end up with a frankenstein combination of your new and some configs of your previous rom, in this case reboot to bootloader (using power and volume down) and issue the factory reset command (fastboot -w)

    And then for the toppings:
    Code:
    fastboot.exe reboot

    That's.....about it. You should boot into your chosen rom. For the first time, the boot animation may stick around for a long time (5 minutes or more). However, if, even after an absurd amount of time (15-20), the rom doesn't boot up, try using MiFlash tool to get back to square one and try the whole process again.

    Once it boots up, continue with the setup process and you will (hopefully) be at the home screen of your new rom.

    PART 2: Le Bugs

    Of course, no software is perfect and considering the especially ambitious nature of Project Treble, it is no surprise that you will encounter some bugs. 2 bugs in particular are the disabled headphone jack and the wonky brightness slider.

    Here's how I fixed them in CorvusOS (most probably applies in other ROMs as well)

    1. Disabled Headphone Jack:

    Once you boot up the rom, you'll notice that the headphone jack will not work; the audio will only play on the speaker. To fix this one, you unfortunately need to root your phone (although that's not necessary, try looking into the Device Specific customisations of your rom).
    Through your computer, issue the following commands (one-by-one, don't copy-paste them):
    Code:
    adb shell
    su
    setprop persist.sys.overlay.devinputjack true
    reboot

    Your phone will now reboot and once it does, you will see that the headphone jack is functioning normally again.

    2. Brightness Slider Fix:

    This one does not require any root. However, this does require that you can access the device specific customisations,

    So, in my case, I had to go into {Device Name} Settings > Misc features and then tick the Force alternative backlight scale . Once you have done that, reboot and your brightness slider will be working properly again. Also, if you noticed sudden fluctuations after booting or when device goes to sleep earlier, that should all be fixed as well.


    Conclusion:

    At this point, you should be ready to rock the world along with your phone. Depending upon the rom you have chosen (DotOS for example), your widevine certification and safetynet may be compromised, even after trying out several fixes (which is what happened in my case). So if that happens to you, I suggest that you either change your rom, hunt around for some solutions or just, you know, live with it.
    In my case, (As I mentioned before) I'm using CorvusOS where the widevine rating and safetynet are unaffected, with the latter requiring some special fixes.

    Hope that helped. I look forward to hearing from you people about any recommendations or discussion. If you have any problem with the process or think that something may be wrong, post it in the replies and I'll be happy to get back to you (depending upon the time, of course)
    2

    Pre-flash info:​

    • Device name: Xiaomi Redmi Note 10S (secret)
    • Earlier rom: MIUI 12.5.15 (Global)
    • Rooted?: Yes

    Tested image:​

    • Pixel Experience 12 Unofficial (phh v401)

    Hardware Support post flashing​

    ComponentComment
    CameraQuality looks better than stock
    Speaker/MicWorks, headphone jack requires a tiny tweak
    BluetoothWorks
    Wi-FiWorks
    SIM/Mobile Data/ VoiceSim works but mobile data does not work
    VoLTEDoes not work
    FingerprintWorks
    NFCNot tested
    Offline ChargingWorks
    Display Refresh rate60hz (same as before)
    Screen BrightnessWorks like before after a small tweak
    Volume scaleWorks fine
    5GN/A
    SafetyNet post root?Not tested
    WideVine certification post flash and rootNot tested

    Personal Notes:​

    • Native screenrecord causes device to freeze and crashes SystemUI. Third party screen recorders work fine tho so it's not a big problem.
    • Mobile data extremely rarely works.
    • System UI is very laggy, especially the app drawer [thanks @Redmi note 10s user]
    • Gcam camera quality looks better than stock, but photo view is very laggy (looks like 15fps) despite video is smooth. Also video shooting only works on main cam the other two are just black.
    • There is a noticeable performance drop in games and compile speed in AIDE.
    • ============================
    • There are many other bugs, most of them are fixable with little tweaks, but these are the most important for me and I didn't find a workaround yet.
    After using this rom for about two weeks, I think I'm going back to stock (or LiteE). The features I miss the most are floating apps (there are some alternatives but they are not as practical as stock rom), and especially MOBILE DATA is important. Please tell me if mobile data has been fixed and I will consider coming back to this rom.
    2
    If anyone wondering how to fix 4G VoLTE and Bluetooth. Contact me on XDA forums
    I've managed to fix it and would be down to help someone else
    share it public or report
    2
    Hey everyone, i never really use XDA anymore but i just wanted to drop in to say this:

    You should probably roll-back to MIUI 12.5 before flashing any GSI for the best experience, there's no antirollback protection at the time of writing (if there is MiFlash will warn you).
    I chose Pixel Experience 12 (v414, as v415 seems to have issues booting on MediaTek), and when flashed over the currently latest MIUI 13 my screen cutout was off, AOD didn't work, and the earpiece speaker was VERY loud during calls, i didn't have these issues under Pixel Experience 11 (flashed over MIUI 12.5) earlier this year.

    So i rolled back to MIUI 12.5 and flashing Pixel Experience 12 again, the screen cutout works perfectly just as i remember it on Pixel Experience 11 (the status bar isn't too near to the top of the screen), AOD worked right out of the box, and the earpiece speaker volume is fine (it's still louder than normal, but it's not extremely loud like on the same GSI running under MIUI 13).

    Another tip for y'all:
    It's not recommended to use fastboot -w to erase data, as this can cause some GSIs to be stuck on the bootanimation.
    Instead, type "fastboot reboot recovery" while in fastbootd, the recovery screen will pop up immediately, and wipe data from here then reboot.

    If you've already done fastboot -w and got stuck in a bootloop (infinite bootanimation), don't worry, just hold vol up + power to force restart the phone (once you see the Redmi logo release the power button) until you get into MIUI Recovery, wipe data then reboot and your GSI will boot fine.

    If you get a "failed to resize partition" error or similar, reflash MIUI using MiFlash, i don't know why exactly this fixes the issue, but it does.
    1
    Make sure this is checked in Misc featuresView attachment 5541197
    OMG. IT WORKED! THANKS A LOT