Android runs on top of the Linux kernel. All of Android’s memory management, input/output, processes, locks, networking, etc happens through and via the Linux kernel. Each new release of Android uses a newer version of the Linux kernel. But it can’t just use any kernel version, there has to be a measure of stability and support. When serious bugs are found or security vulnerabilities are patched in the kernel, these fixes need to make it onto our devices. To make that easier Linux uses at its base what is called the Long Term Support (LTS) branch of the kernel. This is a stable version of the kernel which is guaranteed to be maintained for two years with fixes for serious bugs and security issues.
The problem is that two years isn’t enough. When a silicon vendor like Qualcomm or MediaTek design a processor they pick the latest and greatest LTS version of the kernel at some point during the processors design phase. Once that processor is released to OEMs like Samsung or LG, and then the OEM actually makes a device that uses that processor, then up to a year (or maybe even more) has passed since the LTS version was picked by the chip maker. The result is that the actual device can receive less than 1 years worth of kernel fixes and then the LTS period ends.
To help fix the problem is slow device updates, Android 8.0 Oreo includes Project Treble, a major re-work of Android to make it easier, faster, and less costly for OEMs to update their devices to a new version of Android. But that re-engineering of Android is partly negated by the two year window of LTS kernels.
Yesterday at Linaro Connect, Project Treble’s lead engineer Iliyan Malchev announced that Greg Kroah-Hartman, the current maintainer of the LTS kernels for the Linux Foundation, has agreed to extend the support period for LTS kernels from 2 years to 6 years. And this isn’t some far of in the future idea, the new Extended LTS (ELTS or XLTS) will start with Linux kernel 4.4.
This is a great change for everybody in the Linux community as it will not only apply to Android but to Linux on the desktop and more importantly to Linux servers. It will be interesting to see what companies like Ubuntu and Red Hat now do with the LTS versions of their distributions.
Here is Iliyan’s talk at Linaro Connect. Jump to this timecode to see the part where he announces the new extended long term support:
According to Iliyan (and looking at the announcement slide), Google would like to see all devices receive at least 4 updates during their lifetime, by update the context here is not just a security update (i.e. the monthly security updates) but new versions of Android.
What do you think about the new extended LTS support for the Linux kernel? What about Project Treble? Please let me know in the comment below.