Google plans to take Android back to ‘mainline’ Linux kernel
Better late than never, momentum seems to be building inside Google to radically overhaul Android’s tortured relationship with its precious Linux-based kernel.
It’s a big job and has been a long time coming, arguably since the mobile operating system was unveiled in 2007.
The company hasn’t made any firm announcements on this but journalists this week noticed a low-key video posted to YouTube of a presentation given by Android Kernel Team chief Sandeep Patil, at September’s Linux Plumbers Conference.
The problem? The development model that underpins how Android uses the Linux kernel leads to a lot of complexity that slows updates, raises costs, and makes life difficult for both Google and the device makers downstream in all sorts of ways.
Today, the Linux kernel used by an Android device can be slightly different for every maker, model and at different moments in time.
Device makers start with the LTS (Long Term Support) kernel, before ‘out of tree’ Android common kernel customisations are added. According to Patil, there are a lot of these – as of February 2018, it was adding 355 changes, 32,266 insertions, and 1,546 deletions on top of LTS 4.14.0, and even that is said to be an improvement over the past.
Then major system on chip (SoC) companies such as Qualcomm add numerous hardware customisations before, finally, manufacturers add even more vendor and device-specific software.
These layers of customisation require that each device use a single Linux kernel as its starting point, which has knock-on effects for all the subsequent modifications. Over time, that can lead to Google and device makers supporting several forks of Linux at the same time across numerous devices.
It’s one reason why Android devices have a defined shelf life but it also makes it much more time-consuming to apply security patches.
The new Android
Google’s alternative seems to be to get the mainstream Linux kernel to do as much of the heavy lifting as possible, reducing or even removing the need for the Android kernel modifications.