The LTS (long-term support) period for the Linux kernel is being cut down. In 2017, the kernel jumped from two years of support to six. Now, six years later, it turns out that’s a lot of work. ZDNet reports that at the Open Source Summit Europe this week (videos will be out in a few weeks), Linux Weekly News executive editor Jonathan Corbet announced the Linux kernel will return to two years of LTS support.
The plan to cut back down to two years isn’t instant. The Linux community is still honoring the current end-of-life timelines, so 6.1, 5.15, 5.10, 5.4, 4.19, and 4.14 are still six years, but new kernels will only get two years. Even this six-year window was supposed to be an optional thing when it started, with the release page FAQ saying, “Each new longterm kernel usually starts with only a 2-year projected EOL that can be extended further if there is enough interest from the industry at large to help support it for a longer period of time.” The reality was that everything received a six-year life span, and now that will no longer be the case.
Corbet cited a mix of lack of use and a lack of support for why Linux is cutting back on LTS kernels. Corbet says, “There’s really no point to maintaining [old kernels] for that long because people are not using them.” The other big problem is the burnout from maintainers, which are often unpaid and could use a lot more support from the billion-dollar companies that benefit from using Linux.
But what about Android?
Two years seems like a fine support window for PCs, but what about Android? The original LTS extension was mainly made with Android and Internet of Things devices in mind—it was announced during an Android Linux talk by Google developer Iliyan Malchev. The problem was that on PCs, two years only represents the time between kernel updates, so that’s a fine timeline. Embedded devices tend not to update the kernel, though, so those “two years” represent most of the development cycle and the entire consumer support window, and that’s not long enough.
The original picture Google painted in 2017 was that phones take two years to be developed and that the kernel is locked in near the beginning of the engineering process. The LTS kernel would be hitting end-of-life right around when the phone finally shipped, and customers would use obsolete kernels for the lifetime of their devices. The Android kernel development process is a whole pile of forks: First, Google forks from a new Linux LTS to make the “Android Common” kernel, then that is sent to SoC vendors like Qualcomm and forked for each model of SoC, then that fork is sent to device makers, which fork it again for each model of device. It takes a while.
Are things better in 2023? I don’t know about that. The Android kernel docs have a Linux “compatibility matrix” for each version of Android, and Android 14—releasing any day now—still supports launching new devices with Linux 5.4, a 4-year-old kernel. That’s going to start a new window of support, remember, so even with a paltry two years of ownership, that’s a six-year-old kernel. That’s also just for new devices. You can upgrade to Android 14 from Linux 4.14, which goes back to 2017. You can see how Google arrived at the six-year number. It’s hard to know what every cheap Android phone is doing at any given time, but I assume these are all supported because they are still needed.
There are also smartwatches to consider, where things are even worse. The Pixel Watch is so ashamed of its Linux kernel that it’s not even listed in the settings, but the device launched in 2022 with Linux kernel 4.19, a 4-year-old kernel at the time.
Android’s big advancement since 2017 is the GKI, Google’s “Generic Kernel Image,” which cuts down on the “fork of a fork of a fork” Android kernel development process. That first fork, Android Common, adds all the Android compatibility stuff to Linux, so that still happens with the GKI, but fork No. 2 and 3 are for hardware compatibility, and the GKI instead moves those to modules. Further out, there is a plan to move to mainline Linux.
Even GKI phones still don’t do major kernel updates, though. You get minor LTS security updates, but the Pixel 6, the first GKI phone, launched with Linux 5.10 and is still on Linux 5.10. That’s a 3-year-old kernel. If this trend keeps up, when it gets its last security update in 2027, it will have a 7-year-old kernel. Google has said before that major GKI kernel updates are in the plans eventually. There’s even mention of major kernel swaps in the documents, but the landmark of updating a production consumer device to a major new GKI version is not something that has happened yet. Rumor has it that the Pixel 8 will have a longer support window, so maybe we’ll see major kernel updates launch with that phone.
https://arstechnica.com/?p=1969634