Skip Navigation

Where to start with preparing custom Android ROMs?

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.

10

You're viewing a single thread.

10 comments
  • The thing is, "building a kernel" for Linux is NOTHING compared to a custom ROM. Linux Kernel:

    • one repo, just clone it
    • tooling to easily build it, just set some flags
    • a huge monokernel, not including the entire OS and all the SOC stuff

    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

    • secure with monthly updates
    • hardened in maaany areas
    • functional (removing Vendor app dependency, integrating some Pixel and even Samsung components, Sandboxed Play services, ...)

    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.

    • Ooh, this may be more worth a look then. I had hoped I'd be able to use the old phone to get up to speed before considering going to a custom ROM on my main device but it sounds like a Samsung S8 may be an exceptionally poor choice due to driver availability and other issues.

      Graphene sounds like it addresses a lot of the needs that are pushing me away from stock Android (unnecessary bundled services, concern about Google harvesting more data than they should, Bixby / Google Assistant re-enabling itself every few updates and being pushed on users) but does so in a way won't sacrifice too much functionality (will definitely learn more about sandboxed Play services - that sounds useful).

      I may have to consider getting a refurbished Pixel and setting it up with Graphene.

      • Yes, do that. Relying on Pixels suck, but they are the best to work with, have best updates, no weirdly blocked security features on custom ROMs and you can unlock them easily.

        GrapheneOS lacks a lot of nice UI stuff as they simply not prioritize it. But an example of what yo can do:

        • use a cracked Nova Launcher Prime
        • use any Keyboard app you like, I like Florisboard
        • use VolumeStyles to give that slider more features
        • use SaverTuner to access deep energy saving settings
        • use any Browser you like (I recommend Mull, Brave or Vanadium)
        • install Tiktok or whatever, best in a work profile or secondary profile
        • install the Google camera, it works out of the box without any hassle, even though GrapheneOS even having a good own Camera app
        • use syncthing, davx5 and more to sync your stuff
        • use F-Droid basic, Auroastore, Accrescent or even Google Play. Get the apps you like

        It is barebones but the Android ecosystem allows to insall a damn fake iOS launcher and it works.

10 comments