I’m planning to move towards using custom ROMs in order to have more control over what is and isn’t installed on my phone.
I’ve got an old spare S8 that I’m going to use as a testbed first to get hands on and learn a bit more. It looks like LineageOS doesn’t provide a build for that model so I’ll need to learn how to prepare one myself.
I’m no stranger to Linux - I’ve built my own kernel (and even once an LFS system) back in the day - what resources would be ideal for getting up to speed with Android?
I’d hopefully like resources that help me understand what’s going on rather than focus purely on completing one task or another.
The thing is, “building a kernel” for Linux is NOTHING compared to a custom ROM. Linux Kernel:
Android is different. It doesnt use a huge monokernel. They use mostly the upstream kernel, but the drivers are not in there afaik. There are many proprietary parts also in the firmware. And those come from the hardware suppliers, signed by them, you cant replace it. This totally sucks.
If you look at it the Laptop market is equally bad as firmwares are often not updated at all. But every system simply continues to run, so nobody cares.
On Android its all one thing. A distro / custom OS (ROM is not correct, the OS is not read only otherwise you cant change it, lol) deals with all of that.
Look at the GrapheneOS information articles. They explain very well what they all do to make AOSP
Its a on of work to REALLY support a device, its simply a real OS. LineageOS or even worse PostmarketOS are just random projects often. Using some generic software with missing firmware updates and timely security patches.
It works, somehow. But it is nothing worth investing a lot of time in really, if the phone is not super special.
Just get a used Google Pixel ≥ 6a and install GrapheneOS. Contribute Code to healthy upstream projects.
The work for supporting a single device is insane. And samsung is especially shit, security features would be close to Pixels but they block lots of features for alternative OSses and different software everywhere. Also completely anti-repairable.