General question on Android updates coming from desktop linux
Hi everybody,
I've been unable to make sense or gain better understanding of the Android update system, so I'm asking here.
Coming from the linux desktop, there's two main parts of the system: the kernel and the userland. I could simply update the kernel without updating userland and vice-versa.
But does it work the same way on Android? Why are we so dependent on OTA updates from the individual manufacturer? I understand that microcode is proprietary and can come only from the device manufacturer, but aren't kernel updates and userland decoupled from this (for devices which support project treble and GKI)? Can't I just run a different FOSS launcher, get the upstream GKI kernel and run it with the microcode offered by the manufacturer?
What consists of an Android "version"? Can't I just not update the microcode beyond what the manufacturer provides, and instead keep updating the kernel (by "kernel" I mean GKI and not the actual linux kernel) and userland and in essence keep updating my android version?
I'm probably missing some fundamental understanding of android here, which is why decided to ask here. Thanks for your help!
...but it's probably going to break a bunch of stuff, if it boots at all. Each kernel and its modules are built for a specific model.
You can sometimes find alternative kernels on XDA. Usually there's no need, or advantage.
If you really want an actual Linux kernel on your phone, I would just run full actual Linux. There are distros for this. But I would expect poor performance, and terrible battery life.
Sorry but I'm having trouble following the discussion. Copying over from another comment:
If I keep the proprietary drivers of the vendor in place and just upgrade to the latest GKI by Google, shouldn’t that be OK in theory? Unless the KMI itself changed and everything breaks.