04 / Official maintainer · 2 ROMs
CipherOS & DerpFest
My stock ROM stopped getting updates in school, so I started flashing custom ones just to keep up. That turned into two years as an official maintainer, building and shipping releases from source for a device the manufacturer had moved on from.
- Role
- Official maintainer, 2 ROMs
- Stack
- AOSP, Linux Kernel, msm8953, Jenkins
01The problem
My phone, a Redmi S2/Y2 on the msm8953 chipset, stopped getting updates almost as soon as I owned it. That is an ordinary complaint. What made it stick was that flashing a custom ROM to fix it turned out to be more interesting than the phone itself: the whole build, AOSP source down to the kernel, was open, and nobody was shipping a build for this specific device that felt current.
Flashing led to building, and building led to being asked to maintain. I ended up an official maintainer on two ROM projects for the same device at once.
02What maintaining a ROM meant
Kernel
Compiled from source for every release, tracking upstream security patches and folding in the device-specific drivers the stock kernel never shipped.
Device tree
Kept current for msm8953, the chipset class the Redmi S2/Y2 shipped on, so a build correctly described the display, radio, and sensors to everything running above it.
Build & release
A Jenkins pipeline built and packaged from source. Each release picked up whatever had changed upstream since the last one, not a fixed feature list.
Community
Releases went out to whatever remained of the device’s owner base, alongside a distributed maintainer team across two ROM projects, with bug triage happening in the release threads themselves.
03Result
- Official ROMs maintained at once, CipherOS and DerpFest
- 2
- Downloads per release, on a device its maker had stopped supporting
- 2,500+
- Active maintenance window
- 2021-22
04Where it stands now
Custom ROMs as a hobby are basically dead. Manufacturers ship longer support windows now, bootloaders lock down harder, and the phones worth flashing stopped being worth flashing. I do not think that is a loss to mourn, it is just what happens when the problem that pulled me in gets solved a different way.
What it left me with was not the ROM. It was being comfortable reading kernel source, debugging a build that fails with no stack trace to point at, and shipping something a few thousand strangers actually downloaded, before I had written a line of production web code.
