Google’s Android was known for all of its downstream fixes carried by the mobile operating system as well as various vendor / device kernel trees, while in recent years more of this code has moved into upstream. Google has also switched to the generic image of the Android Kernel (GKI) as the basis for all of its product kernels to further reduce fragmentation. Going forward, Google is now talking about an “upstream first” approach to pushing new kernel functionality.
Todd Kjos of Google spoke today at the Linux Plumbers Conference (LPC2021) about his Generic Kernel Image initiative. With Android 12 and their Linux 5.10 based GKI image, they further reduced fragmentation to the extent that it is “almost eliminated”. With Android 12 GKI, most vendor / OEM kernel functionality has now either been built into the Linux kernel, isolated from vendor modules / hooks, or merged into the common Android kernel.
They are making good progress on the GKI front and also ensuring that vendors adapt to the new approach to reduce kernel waste. But perhaps most exciting is their outlook for 2023 to 2024 for further technical debt reduction.
They will pursue a “first model of upstream development for new features” by ensuring that new code lands in the main Linux kernel first rather than directly aiming for hosting in the Android source tree.
Google also agrees to “work on putting all patches out of the tree upstream in the common Android kernels.”
If they can pull that off and make a serious commitment to “upstream first” of new kernel functionality, that will be wonderful, but we’ll see how it plays out in the years to come.
More details via the presentation below and the accompanying slide set.