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.
My answer is not going to be complete in any way, but your biggest problem is going to be getting your hands on kernel sources that build and that actually work for your hardware.
To complicate the matter, not any kernel will do. The kernel you use must support the Android userspace you want. You cannot arbitrarily pair your kernel version with your Android version. Further, the state of open source kernels on Android is quite poor. Many vendors–Samsung for example release kernel sources but they’re not actually in a buildable, usable state. If you’re just starting out, I would recommend starting with a Pixel where you know you will have sufficient sources to produce a compatible kernel, else you have the unenviable task of patching together something that works from the bits and pieces that get released that comply with the letter of the GPL but not the spirit of it.
Whether or not you can even build a custom ROM for a device is largely a matter of opportunity and whether the resources you need actually exist to begin building one.