Google outlines plans for mainline Linux kernel support in Android
Although this is a great initiative, Google is once again trying to solve a hardware (standardization) problem with software. What’s really needed to enable an generic Android kernel is mobile implementation of ARM PCIe, but Google is completely ignoring that. This leads to some pretty disingenuous comments from what should be one of the smartest organizations in the world, such as:
“Today, we don’t know what it takes to be added to the kernel to run on a [specific] Android device,” Android Kernel Team lead Sandeep Patil told the group at LPC 2019. “We know what it takes to run Android but not necessarily on any given hardware. So our goal is to basically find all of that out, then upstream it and try to be as close to mainline as possible.”
LOL what? It’s almost like an ARM PCIe spec and the x86 equivalent don’t exist. Doing things the right way would be via hardware partnerships that ensure compatibility (think of something similar to WinHEC – a show, not a partnership, but still – for Android.)
But wait, it gets worse: Google’s proposed solution is to upend the entire current Linux kernel model for the sake of Android. Holy. Shit.
Google’s proposal for bringing Android closer to mainline Linux (How is there not a silly “project” name for this yet?) involves stabilizing Linux’s in-kernel ABI and having a stable interface for the Linux kernel and hardware vendors to write to. Google wants to decouple the Linux kernel from its hardware support.
The Linux community has been against the idea of a stable interface for some time, with the suggestion that if you want the ability to quickly update a kernel, open source your drivers and get them in the main kernel tree, where any changes will be taken care of for you.
But that’s not all, folks: the above proposal would only partially solve the Android kernel problem:
So this wouldn’t allow devices to upgrade from one version of the Linux kernel to another