[Advanced users only] Install Android 10 Generic System Image (GSI)

Warning : Please note that this is Alpha stage software and may not work for everyone.

While we are working on an official Android 10 release, we did install and play with GSIs. In particular phh GSI boot and work fine. I have been using it on my phone for almost a month. Surprisingly it is very stable and almost everything works (Wifi, Bluetooth, Sound, LTE, etc).
What doesn’t work:

  • VoLTE or VoWifi is not available. Calls work over 3G.
  • Occasional app crashes.

Repeat warning : This is alpha level software. Please be aware that you are warned.

How to install

  1. Backup your data.
  2. Download phh GSI image OR any other GSI - arm64, ab, opengapps
  3. Unlock bootloader and stay in Fastboot mode.
  4. Use platform tools to flash GSI image

fastboot flash system <GSI filename>

For example

fastboot flash system gsi.img

Reboot and set it up.

Update : Now there is a guide on how to revert to factory image.


I’ve been running a GSI of Pixel Experience aside from the VoLTE & VoWifi issues (as expected with GSIs) it is reliably stable.

I should note, I have two At&t Sim cards installed (work&personal) and the phone works with either sim flawlessly.

I do have a suggestion to include or create a guide to return to the Stock ROM the teracube came with. Of course, since we are altering the software and opening the bootloader; if we brick it it is only ourselves we can blame :slight_smile: Its awesome you are providing us the tools to customize (or brick) our phones , please keep it up.

1 Like

Great to hear. Do you get any app crashes at all or is everything smooth?

Thanks for the suggestion - that makes sense. @robert should be able to write something up. Just to get our timelines right, do you need these instructions right away?


The only app crashes are the same app crashes when using other devices (Amazfit only likes to work after clearing all other apps from history)

Not particularly. I bounce between devices as my work demands. So I always have a few phones in case I brick my daily driver. When I need to monitor my work number closely I like to use a dual sim phone; and the teracube fits the bill.

When I ran it (almost 1-2 months back), I was getting these 1-2 app crashes a day where a system app would crash. Good to know that it is much more stable for you. I’m thinking someday we could potentially move fully to a GSI based code.

1 Like

Would that give us Seamless Upgrades? That seems to be the only thing really lacking that Treble Info pulled from the TeraCube ROM.

1 Like

My understanding is that seamless upgrades work only for phones that ship with Android 10. Our phone shipped with Android 9 and hence may not be possible. However I could be mistaken.

I’m not sure. It seems like we have A/B partitions, which are required by seamless.


Something to ask MediaTek and/or ODM?

You are right - we have A/B partitions. I was confusing Seamless upgrades with the new Project Mainline :slight_smile:.

Should have details soon.

1 Like

Looks like Mainline requires 10/Q, but I’m seeing reports that even devices like the Pixel2 support Mainline once on 10, so that might be another follow-up question for MediaTek/ODM once you get to Android 10 ROM time :slight_smile:

1 Like

Just to add to this, I’m running wild and am currently running the Lineage OS 17 GSI as my daily driver. Haven’t been using it too long, but it’s been working fine for me so far!

I echo that a guide to go back to the stock ROM would be nice, just in case something does go sideways :slight_smile:


@robert has added a guide on how to revert to factory image. Let us know if any of you have comments/suggestions.


That has got to be the most Painless return to stock flashing I have done in a long time. :slightly_smiling_face:
Thank you

I plan on using Lawnchair V2.0-2589 and a few Root level apps (ad-blockers, Mac Spoofing, and DNS reroute) to emulate the Pixel Experience GSI I had set up until I can wrap my head around the Mediatek IMS coding issues. It might take a while, I’m a Fitter not a programmer; smarter people then me are already working on it.

1 Like

To add to what you mentioned, there are some telegram groups exploring IMS (VoLTE) on Mtk GSI as well.

1 Like

phh’s latest Android 11 GSIs support VoLTE on Mediatek. Can some brave souls try them out :wink: ?


I tried flashing both the latest lineageos GSI (based on lineageos 18.1) and phhusson GSI image (based on roar) and I’m stuck in a bootloop. Going back to lineageos 17.1 GSI boots fine. Has anyone else tried and gotten it to work? I’m just going back to the previous version, for now.

Seems to work well enough, but I can’t confirm VoLTE

Can you share your steps to flash, and what GSI you used? Maybe I did something stupid :face_with_monocle:

phh GSI 11, latest release.

fastboot flash system system-roar-arm64-ab-gapps.img

Reset cache and data, and it boots in just fine for me.


Interesting, I did the same thing, but with the FLOSS version (for anyone else, https://github.com/phhusson/treble_experimentations/releases/tag/v300.j , system-roar-arm64-ab-floss.img.xz . I reset the cache and data (and system between flashes) multiple times, and every time got stuck in a bootloop :cold_sweat: I’ll let someone else try before wiping my system again lol

EDIT: Because I can’t help but tinker with stuff, I reverted the phone to stock android then flashed the floss image I linked above, and it worked. Something must’ve gotten corrupted somehow before, no idea what, but at least it worked after a hard reset! Thanks to teracube for providing the details on reverting to stock android also!!