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!

  • catloaf
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    I don’t know what KMI is, but if you mean the kernel ABI, yes it changes every version and modules have to be recompiled against the new kernel.

    • liveinthisworld@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      Kernel Module Interface, Google’s new project with making the GKI mandatory on devices. I think it’s a good step.

      Yeah if the ABI changes spec frequently I can see the problem. Thanks