How To Guide [GSI][PHH][13] Guide & Support [Mojito][Sunny]

Do you believe GSIs overcome custom ROMs in future ?

  • Meh. Both suck. Android devices are increasingly turning restrictive every year.

    Votes: 12 35.3%
  • I don't think so. They'll never overcome custom ROMs.

    Votes: 5 14.7%
  • I have fair skepticism on it. Both will have balanced usershare.

    Votes: 14 41.2%
  • Absolutely. Device tree maintenance is outdated already.

    Votes: 9 26.5%

  • Total voters
    34
Search This thread

MPK99

Senior Member
It was booting after dirty flash over phh/Android 12, but then there was lags/crashes
I don't think dirty flash is an issue, since I've tested almost 6 GSIs consistently over phh's AOSP. And they run perfect, except couple ones.
It all depends on the GSI build quality itself. Spark GSI, in your case seems to be unstable.
 
  • Like
Reactions: spider1163

Apih95

Senior Member
Aug 23, 2016
378
42
Kuala Terengganu
Redmi Note 10
REVIEW AncientOS Official 12L GSI by nazim on mojito device:
It quite lagging , the battery seem to be hotter compared to using stock android even on social media usage. Safetynet failed after using safetynet fix by kdrag0n. i did not test magisk hide tho. Banking app work fine after in deny list 😅. it was not smooth experience to me even after changing to WCSF-PLC kernel
 

Apih95

Senior Member
Aug 23, 2016
378
42
Kuala Terengganu
Redmi Note 10
Spark OS/Android 13 does not work with SafetyNet Fix, but works with MagiskHide Props Config (SparkOS-13.0-arm64_bgN-Unofficial.img)
It was booting after dirty flash over phh/Android 12, but then there was lags/crashes
I tried again from clean flash, but it was still unstable

Moved now to clean flash crDroid, it works smooth.
crDroid GSI ? how smooth is that rom ? battery life good ? VoLTE work ?
 

spider1163

Senior Member
crDroid GSI ? how smooth is that rom ? battery life good ? VoLTE work ?
Yes crDroid GSI (crDroid-8.9-arm64_bgN-Unofficial.img)
It is really smooth, good battery life with VoLTE.

I flashed NetErnels & Magisk with SafetyNet Fix, ANXCam and KProfiles.
I needed to manually extract the overlay because it was not merged in crDroid.

crDroid even corrected a sound problem that I was apparently the only one to have with phh (the sound was too high pitched in internet calls like Whatsapp/Skype.. to understand anything).
 
Last edited:
  • Like
Reactions: Apih95

MPK99

Senior Member
REVIEW AncientOS Official 12L GSI by nazim on mojito device:
It quite lagging , the battery seem to be hotter compared to using stock android even on social media usage. Safetynet failed after using safetynet fix by kdrag0n. i did not test magisk hide tho. Banking app work fine after in deny list 😅. it was not smooth experience to me even after changing to WCSF-PLC kernel
MagiskHide is gone since v23. Are you on v23 ? Update it to newer v25.2 & enable Zygisk/Enforce Denylist. Safetynet depends on your geolocation & google's policies there.
WCSF is an efficiency optimized kernel. For smoothness, prefer NetErnels with performance mode.
crDroid even corrected a sound problem that I was apparently the only one to have with phh
That's strange. Caz in my tests it's the same. I've use VOIP calls on Element (matrix client), Signal & tested telegram too (didn't test whatsapp, caz I don't use). Neither on phh, or crDroid, had voice pitch issues here.
If any other bugs exist, lemme know.
 

ChristianWS

Senior Member
Sep 6, 2016
99
16
Moto G
Redmi Note 10
I've done the procedure without issue until the flash vbmeta.img

I'm currently stuck trying to flash LineageOS GSI, it is stuck in the "Sendind sparse 'system_a' 1/8"

Help
 

ChristianWS

Senior Member
Sep 6, 2016
99
16
Moto G
Redmi Note 10
Make sure you're in fastbootd mode, not fastboot.
Code:
fastboot reboot fastboot
I was in fastbootd mode when i flashed vbmeta.img, there was a big logo on the device.

Not sure when i tried flashing the GSI, i didn't look, but now it has a blackscreen.

Also I haven't touched the device nor closed the CMD window as I'm scared of bricking it by doing something dumb


Edit: sorry about the grammar mistakes, I'm using an old phone that I forgot to setup autocorrect
 
Last edited:

MPK99

Senior Member
I haven't touched the de vice nor closed the CMD window as I'm scared of bricking it by doing something dumb
GSIs will never break the device. It only modifies just one logical partition (system). To seriously break, one has to either wipe bootloader, or mess with other physical partitions.
I was in fastbootd mode when i flashed vbmeta.img, there was a big logo on the device.
You don't need to flash vbmeta for every subsequent update. If you were previously on any GSI, just flashing it would be enough.
Which recovery you're on ? TWRP ?
FastbootD is a component of recovery. Not bootloader, or normal fastboot. Try flashing boot.img from stock & use it's fastbootD to flash gsi. Btw, twrp's fastbootd should work without any issues anyways. I've tested a lot on it.
 
  • Like
Reactions: ChristianWS

ChristianWS

Senior Member
Sep 6, 2016
99
16
Moto G
Redmi Note 10
I wasn't on anything, I was following your guide from scratch because it was the first time I'm flashing GSI.

I'm in panic mode because I flashed the Stock ROM no problem, erased data, flashed vbmeta.img per the instructions, but now the CMD window is stuck on the "sending sparse system_a" after resizing system_a. I'm quite unsure what I should do.

I should still be on the default recovery seeing as I flashed stock without booting to it

Edit: It is still in fastbootd mode, the screen just went off, I needed to touch the screen to confirm it

Edit2: I'm more calm now, since the device is still on Fastbootd mode from the Stock ROM it means I can just... Not touch the device itself, right?

I'm thinking about:

- Closing the CMD window as it seems to be stuck
- Reboot my computer, to be sure the old process is dead
- Reinstall the Drivers just to be sure(I don't think there's anything wrong since it flashed stock with no problem, but you never know
- Reboot it again to be absolutely sure
- fastboot reboot fastboot
- fastboot flash system lineagenameistoolong.img

Is this okay? The phone will never boot into the stock ROM as it appears that it was at very least resized, so I'm afraid of touching it right now
 
Last edited:

MPK99

Senior Member
I wasn't on anything, I was following your guide from scratch because it was the first time I'm flashing GSI.
Would you care sharing the source build of gsi image? Should be from AndyCGYan.
It is still in fastbootd mode, the screen just went off, I needed to touch the screen to confirm it
Yep. Fastbootd has sleep mode, just like android.
CMD window is stuck on the "sending sparse system_a" after resizing system_a.
Better you post the output here.
 
  • Like
Reactions: ChristianWS

ChristianWS

Senior Member
Sep 6, 2016
99
16
Moto G
Redmi Note 10
It is Andy's, straight from the source.

Here it is. Been stuck at this for 2 hours.

Ignore the lines where I forgot it was .img

EDIT: ****ING HELL, I just needed to press a directional key and it ****ing continued like there was no problem
 

Attachments

  • screenshot.png
    screenshot.png
    36.2 KB · Views: 12
Last edited:

MPK99

Senior Member

ChristianWS

Senior Member
Sep 6, 2016
99
16
Moto G
Redmi Note 10
The instructions might look lengthy, but the actually time it'll take will never be more than 10 to 15 minutes, always less than that.

Could be cmd issue. I'm not a windows user so I'm not sure.
Funny, cause I daily drive Linux, but I flash my devices using Windows because most of the tutorials made here are made with it in mind, so it is easier to troubleshoot.

Anyway, I finished everything. Just need to add the overlays and the real PlayStore*

Ah btw, Magisk is complaining that it detected a "su" binary not from Magisk, keeps calling it Abnormal State. That is fine, right?


*I learned using my old device that MicroG + the real Playstore frees a bunch of resources, hence why I like to use MicroG despite the fact I also use the real Playstore
 

MPK99

Senior Member
Ah btw, Magisk is complaining that it detected a "su" binary not from Magisk, keeps calling it Abnormal State. That is fine, right?
Inside phh settings > Misc section, execute "Securize system". Then re-flash magisk from recovery.
This is the reason many GSI builders avoid shipping "su" (a.k.a bvS/bgS) & just build N variants (bvN/bgN). Because it causes overlap with Magisk, since both ship same root binaries. I donno why Andy still builds su variant. He doesn't even include non-su along with it...¯\_(ツ)_/¯
*I learned using my old device that MicroG + the real Playstore frees a bunch of resources, hence why I like to use MicroG despite the fact I also use the real Playstore
I suggest Aurora store. Play store on microg is just useless. Fake store patch already takes care of those freezes you mention about.
Funny, cause I daily drive Linux, but I flash my devices using Windows because most of the tutorials made here are made with it in mind, so it is easier to troubleshoot.
You should know that linux is miles ahead with this technical stuff, you just need to install Android tools available on all distro repos. Windows is outright garbage.
 

ChristianWS

Senior Member
Sep 6, 2016
99
16
Moto G
Redmi Note 10
Inside phh settings > Misc section, execute "Securize system". Then re-flash magisk from recovery.
This is the reason many GSI builders avoid shipping "su" (a.k.a bvS/bgS) & just build N variants (bvN/bgN). Because it causes overlap with Magisk, since both ship same root binaries. I donno why Andy still builds su variant. He doesn't even include non-su along with it...¯\_(ツ)_/¯
Well, is it bad if I don't do that?

I suggest Aurora store. Play store on microg is just useless. Fake store patch already takes care of those freezes you mention about.
Not sure if I follow. I want to use the original Play Store so I can access the apps I already bought. Aurora Store has some issues AFAIK that could result in you getting your account banned.

I use MicroG because a full Gapps installation(even a minimal one) uses more system resources than MicroG. This was important on my old device (a Moto G 2013), and because it worked there, I assume it will work on the Redmi Note 10 as well, specially considering my model is a 4GB one.

You should know that linux is miles ahead with this technical stuff, you just need to install Android tools available on all distro repos. Windows is outright garbage.
I do, but sometime things go wrong, my mistake was assuming you used Windows and that it would help isolate the root cause of the problem
 

MPK99

Senior Member
Well, is it bad if I don't do that?
Yes, for security reasons. Magisk is still using 'su' behind, instead of it's own binary. SU (aka SuperUser), initially developed by Chainfire, stopped giving updates since 2017 & it's way too outdated than magisk's binary.
Not sure if I follow. I want to use the original Play Store so I can access the apps I already bought. Aurora Store has some
I don't think you can redeem app purchases on play store. Microg is actually intended for users who need complete google free experience, with minimal usability loss. If you're purchasing apps directly from store, I suggest you to just stick with google play services.
I use MicroG because a full Gapps installation(even a minimal one) uses more system resources than MicroG. This was important on my old device (a Moto G 2013), and because it worked there, I assume it will work on the Redmi Note 10 as well, specially considering my model is a 4GB one.
On a 2013 device, it might matter. But on this device, it doesn't. Memory usage might be 100 megs more, other than that, there's little to no difference.
I do, but sometime things go wrong, my mistake was assuming you used Windows and that it would help isolate the root cause of the problem
Fastboot/ADB, is primarily a linux tool, written in bash & C. But Android ported it on other platforms such as Windows & Mac. That's why installation of these tools have lengthy procedure on win/mac than on linux.
 

ChristianWS

Senior Member
Sep 6, 2016
99
16
Moto G
Redmi Note 10
Yes, for security reasons. Magisk is still using 'su' behind, instead of it's own binary. SU (aka SuperUser), initially developed by Chainfire, stopped giving updates since 2015 & it's way too outdated than magisk's binary.
Will I need to do this every time the ROM is updated?
I don't think you can redeem app purchases on play store. Microg is actually intended for users with complete google free experience, with minimal usability loss. If you're purchasing apps directly from store, I suggest you to just stick with google play services.
Not redeem in-app purchases, just apps themselves, it worked before.
 

MPK99

Senior Member
Will I need to do this every time the ROM is updated?
For lineage gsi, yes. It's andy's decision to ship bvS instead of bvN. Every other GSI dev left bvS since ages (phh still includes it for compatibility reasons).
If you don't like this behaviour, then crDroid is an another lineage fork, with almost same workflow. Nazim's builds are great btw.
Not redeem in-app purchases, just apps themselves, it worked before.
I meant app purchases, not in-app btw. I never recommend app-store oriented purchases.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Seems like SF back to norm.
  • 12

    Why should I use a GSI ? Mojito already have custom ROMs ¯\_(ツ)_/¯

    Yes. But this thread exists due to the following reasons:
    • You don't wanna fear about devs stop shipping updates.​
    • You don't wanna re-flash your custom recovery / kernel after each update.​
    • Unlike some ROMs, no clean flashes necessary after you update.​
    • You don't wanna be a flashoholic / beta tester of a ROM maintainer.​
    • GSIs are like Linux Distros. Flexible, hasslefree & minimal.​
    • All GSIs support signature spoofing out of the box.​
    Differences between GSIs & ROMs:
    • ROM updates modify all the partitions (boot, recovery, kernel, system, vendor, etc). A GSI update is just a system partition that updates "only" the system, that runs upon stock firmware.​
    • ROMs might pass safetynet out of the box. But for GSIs, you must root & use magisk modules to achieve that.​
    • You can't flash gapps on vanilla GSIs, as you do on vanilla ROMs. You must use bgS/bgN GSI variants.​
    • For now, GSIs have to be installed via fastbootd, as recoveries still yet to support logical partitions. So you need computer available when you update or change them.​
    AOSP GSI project is being alive for almost many years now. I've been daily driving his project on this device for almost two years. Everyone claim GSIs are buggy & not daily drivable, which is a complete false claim. There are no compromises with GSIs when compared to ROMs.

    PREREQUISITES

    Recommended GSIs :

    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. 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.​
    • Finally Magisk (for root, safetynet fix, additional modding, etc).​
    BUG_1: Don't touch the screen while booting to avoid touch issues after you boot (this bug occurs only on custom kernels).
    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.

    UPDATE / DIRTY FLASH HOW ?​

    • fastboot reboot fastboot
    • fastboot flash system <new-gsi.img> & reboot twice
    All phh based GSIs are dirty flashable (unless you switch between vanilla & gapps). If any GSI doesn't boot up, you can always reflash the older GSI & restore the previous state without any data wipes.

    POST CONFIGURATION​

    • Enable the following Settings > Phh Treble Settings:
    • Qualcomm features / Use alternate camera profile & audio policy
    • Misc features / Disable audio effects
    • IMS features / Force the presense of 4G calling & Install IMS Apk for Qualcomm vendor from notification panel.​
    • Setup magisk, hide the app, enable Zygisk & Enforce Denylist.​
    • Use SafetyNet-Fix module to pass safetynet. Still won't pass? Try Pixel-Props (redfin) that ensures fingerprinting.​
    • microG module if you chose vanilla variant (Safetynet works. Most of the banking apps work except gpay).​
    NOTE: Flash custom kernels only through your custom recovery. Flashing through kernel managers (FKM, SPKM, etc) is not suggested.

    MAGISK NOT WORKING ?​

    In this case, the GSI you selected isn't securized (comes with su bydefault). Through TWRP, do
    • mount -o rw /dev/block/mapper/system_a /system_root from terminal
    • Code:
      rm /system_root/system/xbin/su
      rm /system_root/system/bin/phh-su
      rm /system_root/system/etc/init/su.rc
    • Or instead, you can use recovery's file manager to delete the above files. Then reboot.

    EXTRAS​

    My Recommendations for great experience:
    • SPKM to set GPU > GPU Governor > Performance (fixes UI lags)​
    • Lawnchair / Quickswitch for launcher customization with gesture navigation support.​
    • Lineage Dialer for built-in call recording (push into /product/priv-app/Dialer/Dialer.apk).​
    • ANXCam for MIUI camera's post processing.​
    • GCam for google camera's post processing.​
    • Aurora Store / Droid for microg users.​
    • Kiwi Browser for chrome extensions support.​
    • Migrate to backup / restore user apps & data, incase you lose your setup.​
    Thanks for reading all the way through here.
    4
    UPDATE: Overlay has been merged. No need of manual overlay injection for the upcoming phh based A13 GSIs.
    3
    it is okay for us to give review about the GSI that we have been tested ? or better on the other thread ? asking for an opinion here 😅
    I don't really care. Discuss anything mate. This thread is all about gsi support for community.
    The more you guys talk, the more better.
    (just dont private msg. I want all discussions to be public✌️)
    3
    Here's the report for the current GSI development state. This is to keep this thread alive.
    • Phhusson now moved from his personal builds to CI/CD builds (testing, automated) which is now called TrebleDroid (AOSP-TD).
    • But he still hasn't decided to ship secure builds yet (which help pass CTS & magisk compatibility)
    • Lot of AOSP-TD based builds have been released by many developers/builders, which some also happened to have secure builds. Links are in the OP.
    • A13 forks are still in development stage. So you might experience couple of bugs here & there.
    • As of now, the last stable A12 builds held to November sec patch. Beware if you still on Nov patch, since it has a serious security vulnerability (CVE-2022-20465) that allows anyone to unlock your encrypted device through sim PUK reset, which has been patched on December sec patch.
    • Andy's maintaining his own phh treble patchset builds which he calls LineageOS Light. It might or might not be dirty flashable over other TD based builds.
    • The current overlay state is the same as of last year. If anyone have any requests regarding overlay modification, plz do.
    If you have any doubts & issues, discussion is always open. This isn't my personal device anyways, so I'm free to experiment anything on it. Currently it's running phh's android_13.0.0_r14 ci-20221219 (system-td-arm64-ab-vndklite-vanilla), securized, magisk rooted, microg moduled & passing safety net via kdrag0n fix & redfin props.

    MERRY JINGLE CHRISTMAS 🎅🎄

    3
    Followed exactly as in OP.

    I did remove some apps tho from product app/priavpp and system app/privapp, so maybe that caused an issue? Is there anything related to fingerprint in those folders?
    If you want to gain more space (≈ 200mb) in system you can delete 2 folders safely without problems :
    /system/system_ext/apex/com.android.vndk.v28/
    and
    /system/system_ext/apex/com.android.vndk.v29/
    Already did it in DSSI builds without issues.