Announcement

Collapse
No announcement yet.

How Google's Android Maintains A Stable Linux Kernel ABI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by Vistaus View Post

    If they're not writing their own kernel, then I guess Zircon is fake?
    https://fuchsia.googlesource.com/fuc...r/docs/zircon/
    Given Google's track record I fully expect them to abandon it and Fuchsia the millisecond it's not an instant success installed across all smartphone brands and driving billions of sales.

    Comment


    • #22
      Originally posted by Ray_o View Post
      and let the user enjoy his time reinstalling the driver.
      Blame nvidia.

      Ps. if FreeBSD and Solaris have stable ABI's, then it seems it doesn't work for them. It's not some magical solution to success.

      Comment


      • #23
        Originally posted by skeevy420 View Post
        Huh. Well I'll be damned. Here I was thinking their method was to stick with old kernels.

        I don't think I have a single Android device that runs newer than 4.0.X and my current tablet and phone both run 3.1X (3.10 and 3.17).
        My 2 year old device is based on 4.4.153. IRC, 4.4 is the minimum for new devices starting with Android 8.0.

        From https://source.android.com/devices/a...re-kernel-reqs:
        For Android 9, the minimum Long Term Support (LTS) kernel version requirements are 4.4.107, 4.9.84, and 4.14.42.
        • All system-on-chips (SoCs) productized in 2018 must launch with kernel 4.9.84 or newer.
        • All other SoCs launching Android devices running Android 9 must use kernel 4.4.107 or higher.
        • Device kernels based on 4.14 must include the 4.14.42 or higher LTS release.
        • Regardless of launch date, all SoCs with device launches on Android 8.0 and higher remain subject to the kernel changes required to enable Treble.
        • Older Android devices upgrading to Android 8.0 or higher can continue to use their original base kernel version.

        Comment


        • #24
          Originally posted by Volta View Post

          Blame nvidia.

          Ps. if FreeBSD and Solaris have stable ABI's, then it seems it doesn't work for them. It's not some magical solution to success.
          my comment wasn't about who takes the blame, it was about the non sense of wishing the kernel ABI to be broken just so Nvidia does more work and forgetting the effect this has on the user.

          Comment


          • #25
            Originally posted by Ray_o View Post
            my comment wasn't about who takes the blame, it was about the non sense of wishing the kernel ABI to be broken just so Nvidia does more work and forgetting the effect this has on the user.
            What affects the users are nvidia blobs. The proper way for writing Linux drivers is Open Source.

            Comment


            • #26
              Originally posted by Volta View Post
              I hope Linux will break ABI all the time, so those monkeys will have more work to do.
              Come on now. That's just spiteful. That's not helping anybody.

              Comment


              • #27
                Originally posted by flashmozzg View Post

                My 2 year old device is based on 4.4.153. IRC, 4.4 is the minimum for new devices starting with Android 8.0.

                From https://source.android.com/devices/a...re-kernel-reqs:
                My 8.0 device has 3.17.something.

                Code:
                For Android 9, the minimum Long Term Support (LTS) kernel version requirements are 4.4.107, 4.9.84, and 4.14.42.[LIST][*]All system-on-chips (SoCs) productized in 2018 must launch with kernel 4.9.84 or newer.[*]All other SoCs launching Android devices running Android 9 must use kernel 4.4.107 or higher.[*]Device kernels based on 4.14 must include the 4.14.42 or higher LTS release.[*]Regardless of launch date, all SoCs with device launches on Android 8.0 and higher remain subject to the kernel changes required to enable Treble.[*][B]Older Android devices upgrading to Android 8.0 or higher can continue to use their original base kernel version.[/B][/LIST]
                Which is why my 3.17.something* LG V20** running Oreo is getting 3.18.120 with Pie. What a crappy rule.

                And that's if that update actually makes it to the States and through carrier certification...though the phone has an unlocked bootloader so AT&T being shitty as usual won't stop me from updating...

                *it's charging and I'm too lazy to walk across the room and check...

                **It has a headphone jack, removable battery, DAC, SD card, two good cameras, 2K screen, fingerprint reader. I feel no need to upgrade phones because a lot of them feel like downgrades in regards to everything except the SOC/CPU & OS version.

                Comment


                • #28
                  Originally posted by birdie View Post
                  Which kinda invalidates the claim that Linux is the most popular kernel in the world 'cause Google doesn't use the mainline kernel.
                  More or less none uses true mainline kernel, all distros have their own patches, big or small.

                  Not sure how having some downstream patches makes it "non-Linux".

                  Comment


                  • #29
                    Originally posted by doragasu View Post
                    I thought the userspace API was stable, and that only the internal ABI was not.
                    This is about the ABI. Aka the interface between the kernel and kernel modules (the hardware drivers).
                    This would allow to update the kernel without causing massive breakage in proprietary kernel modules shipped by the stock firmware, and should theoretically allow to update the firmware in a device indefinitely (though third party firmware I guess).

                    Currently they have isolated the "hardware support" part (linux kernel and kernel modules) from the "OS part" (most of Android OS) with project Treble. If this goes well, they can reduce the "hardware support" part to just kernel modules.

                    This is significant.
                    Last edited by starshipeleven; 15 September 2019, 04:06 PM.

                    Comment


                    • #30
                      Originally posted by starshipeleven View Post
                      Currently they have isolated the "hardware support" part (linux kernel and kernel modules) from the "OS part" (most of Android OS) with project Treble. If this goes well, they can reduce the "hardware support" part to just kernel modules.
                      Project Treble stuff has already landed.

                      https://source.android.com/devices/architecture
                      Project Treble is the "HAL interface definition language (HIDL)" that cuts userspace of android from the kernel stuff,

                      https://source.android.com/devices/a...uture-versions

                      This stable abi work is under the future android versions stuff. Of course google clearly states they wish for the drivers up-streamed just due to the peer review process effect on security.

                      Comment

                      Working...
                      X