Tech —

Android users rejoice! Linux kernel LTS releases are now good for 6 years

Linux kernel lifecycle tripled to match the realities of hardware development.

A major change in the maintenance lifecycle of Linux kernels is coming. During a Linaro Connect 2017 presentation on Android's Project Treble, Googler Iliyan Malchev announced that Linux LTS (Long Term Support) kernels were switching from a two-year lifecycle to a whopping six years of support.

The free and open source Linux kernel powers most of the devices around us. It's not only present in computers and servers, it also powers most of the ARM devices on earth, so it's present in Android devices, the Internet of things, and almost anything else you can call "smart." Major new versions of the Linux kernel arrive about every 70 days. Not everyone wants to upend their existing system every 70 days to upgrade to the new kernel, though, so to help with this, the Linux kernel has traditionally had a "Long Term Support (LTS)" kernel, which is supported for two years. Rather than do a major kernel bump, devices can keep running an LTS kernel and regularly get bug and security fixes, which aren't as disruptive as full releases.

Two years of support is fine for some computers, but it's not really enough time in the world of ARM devices, and especially in the world of Android. For Android, Google grabs a Linux LTS kernel and changes it into the "Android Common" kernel. This can then go to an SoC vendor like Qualcomm, which modifies it to work on a particular SoC. Then an OEM like Samsung can take this and build it into a phone. By the time this is all done and a device is ready to be released, we're already most of the way through the two years of kernel support. This doesn't even cover the consumer ownership lifecycle. Google provides three years of security updates for Android releases, which can mean years of Google having to maintain an old LTS kernel all by itself.

Malchev, during his presentation, dropped the news of the Linux kernel tripling the lifecycle of its LTS releases, saying, "Greg Kroah-Hartman has given me permission to announce this here: He will extend LTS to six years, starting with kernel 4.4."

Kroah-Hartman, the maintainer of LTS kernel releases, confirmed the news on Twitter, saying, "This is going to be fun!" When asked if this six-year LTS would be available to everyone, Malchev added, "LTS is LTS. Greg Kroah-Hartman, the LTS maintainer, is committing to do [a six-year LTS]. Not because of Google or Android or Treble, but because everything is on LTS; it's not on upstream."

Having a Googler announce a major Linux kernel change during an Android presentation might seem a little strange, but we get the feeling Google was heavily involved in the push to lengthen the Linux kernel's LTS lifecycle. Earlier this year, I interviewed Android's VP of Engineering, Dave Burke, and I actually brought up the issue of kernel lifecycles not aligning with Google's support window. Burke's response was, "we're going to work with the Linaro community to extend LTS." Sure enough, a few months later at a Linaro conference, it was announced that LTS support has been greatly extended.

A six-year support window will give Google, SoC Vendors, and OEMs plenty of time to develop a device and get it to market, while still leaving about four years for end-user ownership. Google currently provides two years of major OS updates on its phones and three years of security updates, but if it wanted to extend that, an announcement like this would seem like an important first step.

Today, it's on Google to maintain dead kernels that it is still supporting. The 2016 Google Pixel shipped with Linux kernel 3.18, which was first released in 2014 and hit end-of-life in January 2017. By contrast, the current kernel LTS release is 4.9, and the latest available kernel is 4.12. With its three-year update promise, Google is on the hook for updates until October 2019. Maintaining a dead kernel for that long sounds like a huge burden.

Snapdragon 835 devices are already running on Linux kernel 4.4, so many 2017 flagships shipping today (or say, next week) will benefit from this change. Android kernels are tied to SoCs, and devices never upgrade kernels, so anyone not running a Snapdragon 835 (or maybe the latest Exynos?) is out of luck.

Malchev said Kroah-Hartman would "announce [six-year LTS] at Kernel.org after this keynote," but so far the site hasn't been updated. The Kernel.org release page still lists "Feb 2018" as the end-of-life date for version 4.4, but with this change it should be more like "Feb 2022."

Listing image by Dafne Cholet / Flickr

Channel Ars Technica