Why should I use a GSI ? Mojito already have custom ROMs ¯\_(ツ)_/¯
Yes. But this thread exists due to the following reasons:
You have issues daily driving custom roms
You don't wanna re-flash your custom recovery & kernel after each update
You don't wanna fear about devs dropping support & stop giving monthly OTA updates
You don't want to depend on / trust buildbot roms lurking on xda & telegram
All GSIs support signature spoofing out of the box
AOSP GSI project is being alive for almost many years now. And it'll still continue it's regular updates for AOSP's existence & entirety. I've been daily driving his project on this device for almost an year. Everyone claim GSIs are buggy & not daily drivable, which is a complete false claim.
It's a one time procedure since you'll be greeted with
monthly OTA updates
(thanks to
phhusson).
PREREQUISITES
Recommended variants :
system-squeak-arm64-ab-vndklite-gapps-secure.img.xz
for
google play services
system-squeak-arm64-ab-vndklite-vanilla-secure.img.xz
for
vanilla/
microg
For
b*S, you have to run
securize from phh settings, to remove magisk conflicts.
Some recommended GSIs :
All phh based GSIs are dirty flashable (on top of each other, without wipe), unless you try switching from vanilla to gapps or viceversa.
INSTALLATION
NOTE:
I'm assuming you've already unlocked bootloader, backed up your data & know all the technical consequences of flashing & modding.
Download / extract all prerequisites in one place.
From stock firmware, edit flash_all_except_data_storage.bat/sh
& modify last line to fastboot reboot fastboot
Enter fastboot mode {vol_down+power},
connect to PC & flash firmware using above edited script (make sure there are no spaces in folder names). When device enters fastbootd, from terminal/cmd execute :
fastboot erase userdata
fastboot flash vbmeta vbmeta.img
fastboot flash system <gsi-file.img>
(ignore INVALID SPARSE warning)
fastboot reboot
& make sure your GSI boots up. Power off & return to fastboot again.
fastboot boot <twrp-file.img>
, head to Advanced & run flash current TWRP to make recovery persistent across reboots.
Flash Magisk (for safetynet fixes) and NetErnels / WCSF-PLC (for performance), either by twrp (copying them into an SD card), or through TWRP > Advanced > adb sideload <zip-file>
.
BUG_1:
Don't touch the screen while booting, else it'll make the display unresponsive, leading you to force reboot. A minor bug, but can be ignored.
BUG_2:
Don't set up password on startup wizard. Instead, set it up later & then disable
Android Setup app if it exists. Else it'll crash fingerprint settings.
POST CONFIGURATION
Setup Magisk from app-drawer. Follow in-app prompts & reboots.
From magisk settings, hide the Magisk app, enable Zygisk & Enforce Denylist.
Use
SafetyNet Fix magisk module to pass CTS. Still won't pass? Try
Redfin Props or any other
Pixel-Props that ensures fingerprinting.
microG module if you chose vanilla variant (Safety net works. Most of the banking apps work except gpay).
Enable the following Settings > Phh Treble Settings:
Qualcomm features / Use alternate audio policy.
Misc features / Disable audio effects & Force-disable A2DP offload.
IMS features / Request IMS network & Force the presense of 4G calling. Also Install IMS Apk for Qualcomm vendor from notification panel.
NOTE:
Reflash kernels only through your custom recovery. Updating through apps like FKM or SPKM is not suggested.
OVERLAY
Skip this step for GSIs that've been updated after sept 18, since overlay's
already been merged. Do this only if you have the following issues :
Extract
this overlay into
/product/overlay/treble-overlay-xiaomi-redminote10.apk
with permissions
644
/
rw-r-r
through any root explorer.
NOTE:
If there's
no space available issue, remove these two folders
/system_ext/apex/com.android.vndk.{v28/v29}
, reboot & try again.
EXTRAS
My Recommendations for great experience:
Lineage Dialer for built-in call recording (push into
/product/priv-app/Dialer/Dialer.apk
).
ANXCam for stock MIUI camera's post processing.
CameraGo for google camera's post processing with built-in translation support.
KProfiles (NetErnels only) to improve performance (
Settings > Battery > KProfiles > Performance
)
Bromite (arm64_SystemWebView.apk) for uptodate android webview (
Developer options / Webview Implementation
).
Migrate to backup & restore user apps & data, incase you lose your setup.
Thanks for reading all the way through here. Here's
my usage stats on 20% brightness.