[Android General] _XblackshadowX_:
The One-for-All Guide to rooting, improving, and fixing various errors in Xiaomi Redmi Go!​

Hello everyone! This thread that I made is for all people who wants to modify and gain full access, as well as to repair their Xiaomi Redmi Go devices the well-guided way, I've noticed that nobody has made an all-in-one guide for this phone so I decided to do it, this thread will keep on expanding depending on what I will discover about this phone, but for now, here is the thread, i expect that you have at least a little amount of knowledge when it comes to phones such as ADB and Developer Options.

What can we do with Xiaomi Redmi Go:

1. We can root it, and the best root manager for this phone is Magisk, SuperSU is also good, but if you're planning to use your phone for mobile banking, then Magisk is right for you. (Unfortunately this isn't true right now due to ctsProfile being hard to manipulate, Redmi Go supports hardware backed key attestation which means your device will definitely be not certified no matter what you do, so until we get a new method, don't root your phone if you want to use apps like Google Pay

2. TWRP is the current custom recovery available for this phone, it has flaws, but its currently the best out there, so its worth the shot to install it, the thread for it will guide you.

3. No custom kernels, people said that they have managed to install AOSP 9 and GSI on this device and made it boot up, but for me, it's better to wait for the official ROM update, after all, the device is still supported.

Prerequisites:

1. Xiaomi Redmi Go

2. An internet connection, a strong one is recommended if you want to download a ROM.

3. A computer with SDK Platform Tools ready to use, this is required, the link is here: https://developer.android.com/studio/releases/platform-tools

Don't forget to also get its driver! The link is also here: https://developer.android.com/studio/run/win-usb

The drivers are tricky to install but I will guide you on doing it in the easiest way possible, please continue on the thread.

4. SD card, your user data will be erased later, better back your files up, this is a warning.

5. Turning on "OEM unlocking" and USB Debugging in Developer Options, this is also really important!

Table of contents:

1. Unlocking the bootloader (and setting up ADB)

2. Rooting

3. Applying the custom recovery

4. Additional modifications

5. Stock ROM links

6. Bonus Section

WARNING: I am not responsible for anything that happens to your device as you follow my guide, do not blame me if you turned your device into a paperweight, made it explode, made it fly or whatever it may be, you chose to modify this phone and you should be accountable for it, you must know the consequences of what you're doing, try to point your finger at me because of what YOU did and I will laugh at you.

I am ready to assist though, so please feel free to ask some questions!

Let us begin, this will take several minutes, so please be patient and avoid rushing.

1. Unlocking the bootloader.

NOTE: This requires your computer to have SDK Platform Tools extracted to any location as long as its easy to access, and its really complicated to talk about it here, this step doesn't include the method where you request a code from Xiaomi, but I've provided a link for it.

A. First, get your phone up, and open the folder on where the SDK Platform Tools are placed, make sure that your in the directory where you see the .exe files of the SDK, now, hold Shift on the keyboard and click "Open Command Prompt here" and type "adb reboot bootloader", without quotes don't forget! This applies to all the steps that I will provide, don't forget to change the USB connection mode of your phone to PTP for it to be detected by ADB! (Only applies to Windows 8/8.1) Once your phone is asking for an authorization, check "Always allow this computer" then tap allow.

B. Once your device has been booted up into Fastboot or the bootloader, check first if your device is being detected, type "fastboot devices", if yes then proceed, if no, then stop here for now.

1B. If this happens then you may have to check your drivers and see if its installed correctly, once your device can be seen at "adb devices" it should also been seen in "fastboot devices" and when the phone is in adb sideload, if not then you have to reinstall ADB, get the proper drivers and do it again.

C. Now, type "fastboot oem unlock-go", the terminal will warn you that all of your user data will be removed, if you have them backed up then and go ahead and enter the command, if not, then just type "fastboot reboot" and start backing up your files, then do this again.

D. The phone will boot up and say "Erasing", to confirm that your phone has its bootloader unlocked, once it boots up again see if it says "Unlocked" on the bottom part of your screen, if there is then congratulations, it should be unlocked at this point.

1D. https://www.getdroidtips.com/unlock-bootloader-xiaomi-redmi-go/, this one particular link provides you on how to unlock the bootloader by entering a certain code, I believe this is a safer method but requires a bit of time, go here if you're interested.

NOTE: The phone supports the command "fastboot flashing unlock_critical" if you are going to unlock your phone with the normal command (fastboot oem unlock_go/fastboot flashing unlock), consider using this 2nd command too, what it does is that it allows you to also flash partitions you supposedly don't have access to, just be very careful not to flash any wrong file! It will be useful to make the "flash_all.bat" script work that you can find on the fastboot ROM for this device, more below!

Once your bootloader has been unlocked, you can now proceed to the other steps that I provided here, don't forget to enable USB Debugging on your Developer Options.

1.2 Setting up ADB

1. Grab your phone, unlock and open your Developer Options then enable "USB Debugging", then change your connection type to "PTP" if you are using Windows 8/8.1, I am not sure if this is required on 7, but it is not needed on Windows 10.

2. Go to this link: https://developer.android.com/studio/releases/platform-tools and download the .zip file, then extract it to a location that is easy to access, like your desktop.

3. Get the official Google drivers here: https://developer.android.com/studio/run/win-usb download the .zip file as well, and extract it too.

4. Go to the extracted folder of your SDK Platform Tools, and go to the directory where you can see various .exe files such as "adb.exe", now, hold the Shift key then click the Right mouse button, then click "Open command prompt here" If this doesn't work for you, open up CMD with admin rights, then type in cd *the location of your platform tools* say on mine, I will input cd C:\Users\James\Downloads\platform-tools_r31.0.3-windows\platform-tools then enter

5. Open your Device Manager by pressing Windows + R, put "devmgmt.msc" without any quotes then Enter, do not close the Device Manager until you're done with all the steps! And please be fast here too or else ADB will not work, now go to your extracted folder of the Google USB driver, and look for the file "android_winusb.inf", copy the location path of it as you will need the exact location path of the file later, in my case it was "C:\Users\Symphony\Desktop\latest_usb_driver_windows\usb_driver\android_winusb.inf".

4A. There are 3 main ADB devices that you have to install, Android ADB Interface, Android Bootloader Interface and Android Composite ADB Interface, so I will divide this into 3 sections, have your Device Manager, and the exact location of the .inf.

NOTE: Turn off the internet connection of your computer, why? Because, if you let Windows install the drivers for you, the drivers may be incorrect and will break things apart, as we will encounter several "Unknown devices" in the Device Manager and we have to update them with the extracted files from Google.

Android ADB Interface

1. Now, make sure that USB Debugging is enabled, now plug in your phone and let the drivers install WHILE your computer is offline, now go to your Device Manager after the driver installation and you should see that there is a driver named "Android" with an exclamation mark.

2. Select the "Android" driver with an exclamation mark, then click "Update device driver", click "Browse my computer for driver software" then click "Let me pick from the list of devices on my computer", click Next, then click "Have Disk", now, remember the location path you copied earlier? Now paste that path (like C:\Users\Symphony\Desktop\latest_usb_driver_windows\usb_driver\) to the white bar under "Copy manufacturers files from:", overwrite the A:\ with your copied path then Browse, select the "android_winusb.inf" and click OK, now, select the "Android ADB Interface", once the driver has been installed and the interface doesn't give errors such as "The device cannot start", then you're good to go.

NOTE: If you plug your phone and there is no "Android" device with exclamation mark, you can proceed to try and see if adb detects your device by typing "adb devices" in the command right now, it should be since this is what I experienced when setting up my device in Windows 10, this step usually applies only if you are using Windows 8/8.1

Android Bootloader Interface

1. To test, go to the command prompt you opened earlier, and type "adb devices", the device should now be detected at this point, when it does, type "adb reboot bootloader".

2. Now, make sure USB Debugging is enabled on the device before booting it into bootloader, now plug in your phone again and let the drivers install WHILE your computer is offline, Go to your Device Manager after the driver installation and you should see that there is a driver named "Android" with an exclamation mark.

3. Select the "Android" driver with an exclamation mark, then click "Update device driver", click "Browse my computer for driver software" then click "Let me pick from the list of devices on my computer", click Next, then click "Have Disk", now, remember the location path you copied earlier? Now paste that path (like C:\Users\Symphony\Desktop\latest_usb_driver_windows\usb_driver\) to the white bar under "Copy manufacturers files from:", overwrite the A:\ with your copied path then Browse, select the "android_winusb.inf" and click OK, now, select the "Android Bootloader Interface", once the driver has been installed and the interface doesn't give errors such as "The device cannot start", then you're good to go.

Android Composite ADB Interface

1. Before proceeding, type "fastboot devices", the device should now also be detected on fastboot, now, type "fastboot reboot", and afterwards, enable "USB Debugging" on the Developer Options, then go your command prompt, then type "adb reboot recovery".

2. Now, now plug in your phone again and let the drivers install WHILE your computer is offline, now go to your Device Manager after the driver installation and you should see that there is a driver named "Android" with an exclamation mark.

3. Select the "Android" driver with an exclamation mark, then click "Update device driver", click "Browse my computer for driver software" then click "Let me pick from the list of devices on my computer", click Next, then click "Have Disk", now, remember the location path you copied earlier? Now paste that path (like C:\Users\Symphony\Desktop\latest_usb_driver_windows\usb_driver\) to the white bar under "Copy manufacturers files from:", overwrite the A:\ with your copied path then Browse, select the "android_winusb.inf" and click OK, now, select the "Android Composite ADB Interface", once the driver has been installed and the interface doesn't give errors such as "The device cannot start", then you're good to go.

2. Applying the recovery/custom recovery

A. Open up your phone and ensure that USB Debugging has been enabled, now, open up your command prompt just like in Step 1 in Unlocking the Bootloader and type "adb reboot bootloader"

B. Next up, type "fastboot flash recovery path/to/recovery.img", substitute the path/to/ with the actual location of your recovery, and please make sure that the name of the image is "recovery.img"! Or else it will not overwrite/update the recovery, you can also put your recovery.img directly within the platform-tools folder so that all you have to type is "fastboot flash recovery recovery.img" then press enter.

C. Once your done, reboot the phone and press Volume Up + Power at the same time, and the recovery will start. (You may want to do this else the recovery will be automatically removed and replaced with the stock one)

1C. For the stock recovery, once you press the combination, the phone will say "No command", at this point, hold your Power button and press Volume up one time to get into recovery.

https://xdaforums.com/android/development/recovery-twrp-3-3-0-redmi-t3929282 here is the link of the TWRP recovery, I encourage you to follow the steps mentioned in the post properly.

WARNING: The fix I provided below is now pushed here for 1 certain reason, before you try to root your phone and do everything else, you must decrypt your internal storage first and it is quite easy, first you must get the decrypt.zip linked in this thread (if the .zip cannot be found, I still have a copy of it), go to TWRP and do "format data", not Wipe Data! How so? Once you reboot to TWRP, it will show you the "Wipe" button, tap that, then the "Format Data" button should show up, this will require you to type in "yes" so type it in, then once it is done formatting, go back to the main TWRP screen, tap "Reboot", then "Reboot to Recovery", afterwards you must go to "Install" then proceed to install the "decrypt.zip", after that you can now flash .zip files from your internal storage too, but beware that you must do this every time you update your device!

3. Rooting your phone

A. To get started, install TWRP for your phone first.

B. Get the .zip file of Magisk/SuperSU so you can install them, the links are https://xdaforums.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445 and https://xdaforums.com/apps/supersu/stable-2016-09-01supersu-v2-78-release-t3452703

C. Reboot your phone to recovery or just plug it in, open the command prompt again just like in the previous step and put "adb reboot recovery" without quotes.

D. Tap "Install" on your TWRP recovery and select the respective installation .zip file of your chosen root management app, and wait for it to finish.

1D. The .zip for both SuperSU and Magisk can be installed through "adb sideload", if incase you don't have an SD card! It may also work with fastboot as well but I need someone to confirm this.

E. When it's done, wipe the cache first, then reboot.

1E. If the root management app didn't appear in your phone after boot, just install the APK of it in the Play Store and check if root has been applied, if not, repeat step C and D again.

BONUS: It may be useful also to grab EdXposed or LSposed for Magisk and the link is here: https://xdaforums.com/t/official-edxposed-the-successor-of-xposed-oreo-pie-q-r-2020-07-19.4070199/ and here: https://xdaforums.com/t/lsposed-xpo...e-magisk-module-edxposed-alternative.4228973/, please choose only one! You will use the normal Xposed if you're using a different root management app such as SuperSU, the link is here: https://xdaforums.com/showthread.php?t=3034811

What this does is that if the app is an Xposed/EdXposed/LSposed framework module, any modifications it does to your phone will be based on memory only, it won't modify your phone directly which means your device will be clean, and if it incase the said modification bricks your phone, you can easily recover from it too!

BONUS 2: I also recommend getting the Busybox module from Magisk itself, it can easily be downloaded from the Magisk app, you will need this module if you want your root applications to work more efficiently and avoid errors, as most of them requires Busybox to work, don't use the Busybox installer apps on Play Store as they modify /system directly, only use it if you are using SuperSU.

4. Additional modifications

Once you've managed to root your phone and everything else, what I recommend you could do with your device is to get the following apps:

Titanium Backup - It has the ability to back up apps on your phone, and even its data! this app could do so much more than with what I just mentioned.

LSpeed - A root boosting app that has almost every root tweak packed into it, its really convenient to use! I do not recommend using Entropy tweaks as I heard it is a placebo.

Greenify - For me, this is the only legit battery saving app aside from LSpeed which also offers tons of battery saving features, it requires Xposed to have more options you have to buy it to gain full functionality

ROM Toolbox - This app pretty much contains everything a rooted user needs, such as a terminal and root-based file manager.

System app uninstaller (optional) - Just in case if you're planning to remove some bloatware (the list of it is below)

Root Browser - An alternative to ROM Toolbox, this root explorer is really popular and gets the job done without any interruptions.

Terminal emulator - This will allow you to enter various commands on your phone, like being able to reboot the phone without using any keys.

In order to make the phone as fluid as possible, just leave it with stock ROM installed, try to also use lite apps like Facebook Lite to reduce RAM and battery consumption.

Kernel Adiutor - Another great root application, it's like LSpeed but it doesn't automate tweaks, it instead allows you to modify most of it on your own, then it reapplies your tweaks every time your cellphone will boot up if you tap the "Apply on startup" switch. the link for the app is here: https://m.apkpure.com/kernel-adiutor-root/com.grarak.kerneladiutor

NOTE: Most of these apps can be found on the Play Store, and please don't install any more similar root boosting apps such as HEBF, scripts such as V6 Supercharger, or modifying files like build.prop, it is due to the fact that this will conflict with LSpeed, as LSpeed contains most of the tweaks that past scripts and apps provide, this will result in your phone slowing down a lot, Greenify will require Xposed Framework which is mentioned above on the Rooting section, the link to LSpeed is here https://github.com/Paget96/LSpeed, because the app has been removed from Play Store.

WARNING: The perf.zip https://xdaforums.com/android/development/-t3935220 here, that was provided in Xiaomi Redmi Go forum section must be applied with extreme caution, you have to make a backup of your build.prop in /system, and build.prop + default.prop in /vendor for easy recovery, you can use ZipMe to easily make a backup for these files.

5. Stock ROM links

https://xiaomirom.com/en/rom/redmi-go-tiare-global-fastboot-recovery-rom/, this link so far provides all the ROMs (both recovery and fastboot) available for download on this phone, and they are actually light enough, so it will be easy to download them.

https://xiaomifirmwareupdater.com/archive/miui/tiare/ a new link I've found recently, this rom contains the .tgz format of the latest ROM for the Xiaomi Redmi Go, which could be used for fastboot and Mi Flash Tool, just search for the model and go for Global.

NOTE: Most of the ROMs for this phone provided on several sites, even on the actual Xiaomi website, has an invalid format of .zip, and doesn't contain a flashall script, as a result, Mi Flash Tool will never be able to use these ROMs, you could not also use adb sideload and fastboot for these ROMs, only the stock recovery of the phone could install the ROM, due to the links provided above finally giving the latest ROM versions for the phone, extracting the stock recovery is very easy now, you can do it yourself but if you need a link, tell me.

5A. Applying the stock ROM

This section will be divided into 2 sections, flashing the ROM through recovery, flashing the ROM through fastboot manually, or automatically with flash_all.bat

Stock recovery method.

A. Download the stock ROM with .zip format and put it into your SD Card.

B. Flash your recovery back to stock with the steps given above, boot into your stock recovery, then using your Power button and volume keys to navigate, select "Apply update from SD card".

C. Select the .zip file and wait for the update to finish.

D. The device will boot up automatically after, if not, just go back to the main menu of the recovery and select "Reboot system", enjoy!

Fastboot manual flashing method.

A. Ensure that you have prepared your device and computer for ADB, now grab the ROM given in this thread in .tgz format, and keep extracting the file until you see the files such as "flash-all.sh" after extraction, as you need to extract the .tgz ROM two times before you could use it properly.

B. Now go to the extracted folder of the stock ROM, go the "images" folder and copy the following image files: boot.img, system.img, recovery.img (make a backup of this file somewhere!), vendor.img, cache.img, userdata.img, persist.img, and splash.img.

C. Paste them to the extracted folder of your SDK Platform Tools where various .exe files are located such as "adb.exe", or in my case the location is "C:\Users\Symphony\Downloads\platform-tools_r29.0.4-windows\platform-tools".

D. Now open your command prompt on this directory, or Shift + Right click, then plug in your phone, now type "adb reboot bootloader" so your phone will go to bootloader, don't forget to enable "USB Debugging" and PTP connection mode before rebooting! (only applies to Windows 8/8.1, it may vary on Windows 7 but it is different on 10, no need for PTP connection mode, you can just turn on USB debugging and that's all)

E. Now, this is a little tricky, but try to follow me as much as you can, make sure first that you are detected with "fastboot devices", input the following commands that I will give so you can flash the ROM to your phone, now go to the command prompt and:

To flash the boot.img to your phone, put the command: "fastboot flash boot boot.img"

For the recovery, the command is: "fastboot flash recovery recovery.img"

For the system or main OS: "fastboot flash system system.img"

For cache: "fastboot flash cache cache.img"

For persist: "fastboot flash persist persist.img"

For the vendor or additional system files: "fastboot flash vendor vendor.img"

For data or apps: "fastboot flash userdata userdata.img"

For splash or probably boot animation: "fastboot flash splash splash.img"

D. After that, type "fastboot reboot", and enjoy!

Fastboot automatic flashing method (NEW!)

A. Extract the fastboot ROM 2 times as instructed, after getting the files, grab all the files and copy it to the directory of your platform tools where files such as "adb.exe" can be found, just copy all the files in there and that's all you have to do.

B. Open the "flash_all.bat" on Notepad and remove the following lines:

fastboot %* getvar product 2>&1 | findstr /r /c:"^product: *tiare" || echo Missmatching image and device

fastboot %* getvar product 2>&1 | findstr /r /c:"^product: *tiare" || exit /B 1

Afterwards, save the .bat file, that should be ready to use now

C. As instructed above, you must also do "fastboot flashing unlock_critical" after unlocking your bootloader the normal way, this will act as your 2nd unlock command, without this, the flash_all.bat will not work as it should be.

D. Boot up your phone in fastboot mode, open up your adb devices and make sure that your phone is seen in "fastboot devices", once it does, type in "flash_all.bat" without any quotes and execute it, the command will now automatically flash everything without you doing anything else, it will also automatically reboot after doing so.

Bonus section:

1. TWRP-compatible stock ROM

For this part, in order for you to generate a TWRP-flashable stock ROM is by basically making it yourself, you have to make sure that your patch is latest, and its pretty much a good idea to just tick everything in the backup selection except for the recovery, as well as the cache as you don't need those.

Once you have it, go ahead and keep it somewhere safe but easy to find, so if case that you need to use it, you could get it immediately, this is extremely useful so please just do it, as of now, I've confirmed that only the /data backup was usable, but please try to confirm if other partition backups are working for you.

Certain custom ROMs that can boot up in this device could be flashed through TWRP though, and the links of them are provided here in this thread.

2. GSI, AOSP 9 and custom ROMs

The link for AOSP is provided here: https://xdaforums.com/android/development/redmi-aosp-9-t3922192

The link for GSI is right here: https://xdaforums.com/android/general/tested-gsi-redmi-t3924705

These images/ROMs can be applied with TWRP, just make sure to follow the steps mentioned in these posts to avoid inconvenience, don't forget to take precautions too! I haven't tried them, but so far I believe that these are stable to use.

There are also custom ROMs released for the device but I am lazy to link all of them, they can easily be found by going here: https://xdaforums.com/tags/xiaomi-redmi-go/

Please take note that I haven't tested these custom ROMs yet and I most likely never will, since the stock ROM for the device is already good enough, you can comment here and tell me what custom ROMs are stable so I can link them here for future reference.

3. Current status

My phone is still working, yes! and it's still staying strong, updated to 2.25 using the fastboot method and it is still fast, the only issue currently is that SafetyNet is a lot more secure than before, so it will be impossible to use stuff like Google Pay for now.

I usually decided to lay low and just stay with my LSpeed, Kernel Adiutor and Greenify, all I had to do is to tinker with these apps and my phone just reached into a whole new level! The performance improvement is nice, that I didn't need to use a custom ROM anymore.

4. How to install a OTA update after rooting your device

Due to the changes made by Google on SafetyNet, and the fact that this device will always require you to wipe the device every update, it is pretty much the same, it doesn't matter anymore if you are certified or not, you will still receive an OTA update even if your device is not certified as long as you are using the stock ROM, you only won't be able to install it, and if you want to install the OTA update you must install it by flashing the updated fastboot ROM, I have links for it above, you can try installing the OTA updates yourself through the settings but you will still have to do a factory reset anyway, you have to also unroot also and revert to stock recovery, else the installation will fail, and your device may slower afterwards.

5. Bloatware you can safely remove (NEW!)

So, like I said above, as much as how lightweight the device is, there are still bloatware that you can remove if you really want, but it's only 3 of them:

Mi Video

Mint Browser

Mi Music

The rest such as Mi Share and Mint Launcher are also bloatware, you can remove them but to me they are useful so I didn't, do not remove the "Cleaner" app, if it however says something like "com.CleanMaster", you can try removing it but take caution as your Play Store may be removed along with it too.

Credits to everyone who made the apps/tools that I mentioned here! such as @topjohnwu for the Magisk, and @YasiR Siddiqui for the TWRP, @Paget96 for the awesome LSpeed app, @rovo89 for the Xposed Framework and many more, you guys totally rock!