Introducing /e/OS Generic System Images (GSI)

development

An /e/OS Generic System Image (GSI) has been a long standing request from /e/OS users. In this article, we’ll share details about the official /e/OS GSI, which will be released soon.

We assume that the reader has an average knowledge of technical terms, as there are some peppered across this blog post. It would not be possible to explain all the terms and definitions, though we have attempted to keep the narrative as simple as possible.

What is a GSI ?

Before we jump headlong into sharing details on the /e/OS GSI, let us first understand what a GSI or Generic System Image is.

The official definition for a GSI defines it as:

… a system image with adjusted configurations for Android devices. It’s considered a pure Android implementation with unmodified Android Open Source Project (AOSP) code that any Android device running Android 8.1 or higher can run successfully.

In layman terms, it means that a GSI is a slightly modified system image. It is made from the base Android source code. That being said there are considerable differences between a stock ROM and a GSI. Lets look at some of these.

Regarding /e/, a GSI is an easy way for users or developers to test /e/OS on potentially any recent Android smartphone with an unlockable bootloader.

The difference between GSI and Stock ROMs

(Note: These differences are specific to the /e/OS GSI. There might be exceptions on other GSI but that is not in the scope of this article.)

table

What is Project Treble?

One term that crops up when the subject of GSI is mentioned is Project Treble. Previously whenever a new Android Operating System came along, phone manufacturers had to wait for the chipset vendors like Qualcomm to update the code for the internal hardware. This could take months or even years. By then a new Android Operating System could be available.

To address this problem Google came out with an innovative idea: separate the Operating System code from the device hardware code. This, in a sentence, is the idea behind Project Treble. Now every time an OS update comes along, the device manufacturers do not have to wait for the hardware component code to be upgraded. They are free to push the new Operating System to the end user.

In general we consider devices which came after 2018 and with Oreo or higher as the initial Operating System, are Project Treble- compatible. There could be exceptions to this rule. Let us see what more requirements need to be met.

System requirements for a GSI

To be able to install a GSI a device should meet certain requirements.

The device:

  • should be Project Treble- compatible
  • should have an unlockable bootloader
  • should have been launched with Oreo or a newer OS version
  • was upgraded to Oreo and modified to be Project Treble compatible
  • does not have Xposed framework, SuperSu or Magisk
  • has the stock ROM working on it

The list and variables goes on as technical minds modify and tweak older devices to make them compatible, but we will not go into those details here.

All about /e/’s GSI

Now lets talk about the subject of this article, the /e/OS GSI. To say that we are introducing the /e/OS GSI would be factually incorrect. The /e/ development team had done some preliminary work on this way back in 2019. You may have read this post on the forum. After some initial work on an /e/ GSI we had to stop. The reason behind the pausing of the development, was lack of dedicated resources for the task.

We are pleased to announce that the /e/ team resumed building GSIs, based on the work of PHHusson and AndyCGYan. Thanks to these efforts, we are now releasing the official /e/OS GSI.

What the /e/OS GSI is not

At this point we would again want to remind the readers of the following points:

  • The GSI is not to be used on a daily driver device
  • Not all hardware components would work on it. For example the bluetooth or camera may not work with the GSI on a particular device
  • Do not expect all software applications to work
  • There will be no OTA updates for the /e/OS GSI at present
  • Use it only for testing purpose …to get a feel of how /e/OS works

User checklist before installing a GSI

  • Check if your device bootloader can be unlocked
  • Check if your device is Project Treble ready
  • You can check this by installing a third party app called “Treble Info”

Treble info-02

  • The app should tell you if your device is Treble compatible. If your device is not treble compatible, then you won’t be able to install a GSI
  • Under the section “Required Image” please note the image name to download
  • Under “Dynamic Partitions” check if you require fastboot

How to get your hands on an /e/ GSI

We have added the following resources on our documentation site to help you:

Feedback and comments

As always we look forward to your constructive comments and suggestions. You can comment in this thread or share them with us at support@e.email.
For issues and bugs please raise them in the gitlab

For more updates on the project, follow us on Mastodon!

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

13 Likes

I was just made aware of this article.
What Android version will the GSI have? Android 11 or 12?

Thanks for the answer :slight_smile:

Hello.
Download links shows q flavor…

Thanks! Is there any way to enable VoLTE? The “PHH Treble Settings” app has an option to install the IMS APK, but it doesn’t seem to work (nothing actually gets installed).

I have no sound during phone calls. I don’t even ear the calling beeps. But I can ear and talk using Telegram, and sound works anywhere else.

My phone is a Redmi 7A with working TWRP. I had no troubles replacing MIUI (android 10) with /e/ GSI.
Any suggestion?

Thanks

hi, @Jazzda, you could try installing the “simple dialer” app from F-droid
as it is / it was a workaround for an alternative and finally working s6/s6edge build.

Ty for the fast reply.
I tried many dialers, including simple dialer, but none works. All permissions granted, but none even try to use the microphone.
With MIUI the dialer works fine, so it must be something in the GSI that doesn’t “connect” to something.
Weird.

There’s one thing I found strange, it’s the first GSI where the native dialer may be disabled from settings. Could it be related?

So, did you see my comments already? :thinking:

Hello

If I understand you than /e/ work’s not really good on your fairphone 2 and you talking about android thet is to complicated?

But wy whe yuze /e/than and is my data really my data than really ?

I think you have I point in case for android bycose my phone start whit android en than comes the /e/startup.

So I think you sir you have I point.:thinking:

What’s the point of querying people about issues and keep ignoring them?
Is there just a single developer or not even that?

You write that because you didn’t receive help here?

Of course.
Why should one bother to try it if no one reply to reported issues?

I don’t understand why /e/ offers this looks like a cripple /e/ version to me.

And you reported that issue in the Backlog?

Backlog? What’s that?
OP said “You can comment in this thread” and that’s what I did.

@Jazzda, you know there is a tool that /e/ developers use for development and it serves as well to trace issues (and subsequently to get rid of them). This tool is called Gitlab (https://gitlab.e.foundation/e/backlog/-/issues), this software has a storage space, the so-called backlog (imagine it like a shelf) - where issues can be reported, they are categorized and then dealt with. Anybody can submit issues (you too if you like), you just need to explain your observations in a way that others are able to understand what you are experiencing - so use clear and simple language, take screenshots if needed to underline what you explain and often it is helpful to share logs (a sequential report of recent internal operations of your device) with developers. All what is needed for providing this logfile if to install a small app from AppsStore called Logcat (open source).
In fact for developers it is really crucial to get feedback from users and issues being reported.
Just give it a try.

@Jazzda is right, though.

1 Like

I have a phone that was released with android 11. Can I use this android 10 based GSI still?