Building e/OS 0.22 for Motorola One xt1941-4 (deen)

Owners of a Motorola One smartphone (offered in 2018/2019) have enjoyed at least two years of security updates every second month – as promised by Motorola/Lenovo in the ads. The device was initially delivered with Android 8.1 Oreo and received two full version updates to Android 10. Not too bad for a pretty low priced device (I bought mine for 160 EUR) . Unfortunately, the two years update promise was regarded as fulfilled in October 2021, and no more updates were distributed since then.

The device was used as a daily driver and I even took it upon myself to change a broken display. So what now? Dispose it off, although it is still full functional? Seems to be a crazy waste of resources, doesn’t it?

So I went to search for a so-called custom ROM that would be maintained to hopefully include recent and future security fixes of the Android system. Although there are quite a lot of devices supported by the popular Lineage OS, the Motorola One is not among them. Over the last ten years there must have been literally several hundreds, if not thousands of devices with different hardware specs. And since a custom ROM has to be manually ported to each device, by far not all smartphones are provided with a custom ROM.

As my research went on, I found an unofficial build of Lineage OS 17.1 ( = Android 10) from June 2020. Unofficial builds are not maintained, and the people who did the port stopped working on it after the first version. This is a pity, because they really did the job well. As far as I can tell, the ROM was fully functional.

Viele Wege führen nach ROM!

Edmund Bünting

I never compiled or even ported a custom ROM, and I was not sure if I would be up to the challenge, or if I could spare the time to dig into it. However, it came to my mind, if it would be possible to reconstruct the building of this Lineage ROM for the Motorola One, it should not be too much hassle to recompile it using more up-to-date platform source code or even more recent kernel sources?

It took me about 30 hours of research, spread out over several weeks, and much trial and error to get the build system to work. Somewhere down the road I also experimented with GSI (Generic System Image, aka „Treble“) images, but could not find something proper. Using an e/OS GSI image yielded an „almost“ usable device, but without sound when making a call – just a little more than inconvenient with a phone after all. However, I decided to just combine my effort with the task of building the latest e/OS version. This is quite straight forward, since e/OS strongly relies on Lineage OS and uses much of the same sources and building environment.

To cut a long story short: In the end I successfully built and installed my very own version of e/OS 0.22 – Lineage 17.1 – Motorola deen ROM on my trusty Motorola One! And it turned out, that everything seems to be working fine:

  • Booting / rebooting
  • Charging
  • Display / touchscreen
  • Speaker / microphone
  • Headset (line)
  • Phone calls
  • Play music
  • SMS
  • Wifi
  • Mobile data, 4G
  • fingerprint sensor
  • FM radio
  • NFC
  • Bluetooth (speakers)
  • GPS
  • Cameras
  • Acceleration sensors
  • Moto Gestures

And, at least the Android platform files are of current patch level. The vendor files are from 2019.

My very own custom ROM! Of course there will be no OTA updates…

So it was proved that it can be done: Compile a non-maintained custom e/OS ROM based on Lineage OS. But what now? With the vendor files already being 2 years old, this seems not such a great improvement compared to the latest stock ROM update from October 2021 in terms of security patches for this device. The next step therefore should be to embed the latest versions of the vendor files in the device tree of the build system. Indeed, a new challenge for a noob like me. But if this could be achieved, at least the current level of security could be maintained, and the platform files would be updated with each new version of e/OS.

So hopefully I can keep my Motorola One smartphone running with a decent amount of security patches for a few more years.


Ein Gedanke zu “Building e/OS 0.22 for Motorola One xt1941-4 (deen)”

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert