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@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    …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.

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

      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.

      • catloaf@lemm.ee
        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