- Android uses a custom forked version of the Linux Kernel
- Duplication of effort will be avoided between mainline kernel and Android’s implementation
Google revolutionised the smartphone space with their Android OS built on top of a custom Linux Kernel not very different from the millions of other devices around the world at the time.
This initial fork of the mainline Linux kernel at its peak ballooned up to a whopping 60,000 lines of extra code which has now been reduced to 32,000 and it is still falling.
All thanks to cleaner code maintenance and debugging process in recent years advocated by Google and The Linux Foundation to the Open Source maintainers and contributors working on Android and other Open Source toolkits.
Google has realised over the years that although the initial benefits of forking the mainline kernel resulted in faster and prioritised smartphone and other mobile devices centric feature sets.
It also created a lot of additional burden of code maintenance detached from the upstream development of the standard Linux Kernel effectively forcing Google’s resources to be bogged down in re-inventing the wheel.
This was however manageable over the years with exponential improvements in the system resources of the devices Android runs on and the infrastructure it is developed/built upon.
With this statement of intent however Google has finally addressed the elephant in the room and this has given further relevance to the question about the state of kernel updates on popular Android devices.
Currently most OEMs shy from integrating Kernel updates from upstream and make do with only publishing security patches as and when they can figure them out for their individual devices and chipsets this creates a huge problem for security sensitive folks and their systems.
There is however a less known but very capable solution in the form of Project Treble which enables OEMs to push Kernel updates to their specific chipsets and devices without compromising on the stability of the userland and other parts of the system.