一年一度的LinuxPlumbers大会是从事Linux系统底层开发的工程师的聚会。考虑到Android作为全球规模最大的Linux内核发行版之一,谷歌软件工程师ToddKjos今年也参与了大会并做了分享。
他表示,即将正式亮相的Android12承诺向最终用户提供谷歌打造的“通用内核镜像(GenericKernelImage,简称GKI)”,以确保新一代Android能无限拉近与主流Linux的距离。
在传统上,Linux内核在入驻Android手机之前会经历多次分叉,而且Android设备供应流程中的每个利益相关方都会进行自己的分叉。简单来说,就是谷歌先将LinuxLTS内核分叉为AndroidComonKernel,之后再由SoC供应商针对每款芯片进行分叉,最后由设备制造商进行再次分叉。
首先,谷歌会将Linux内核分叉为“AndroidCommon”——即Linux内核加上一系列手机与Android特定调整。之后以高通、三星或联发科为代表的SoC供应商又会对AndroidCommon进行分叉,为各个主要芯片版本开发一套SoC专用内核。最后,每台设备都要对应SoC内核的一个特定分叉,用于实现对特定设备的硬件支持。
可以看到,Android内核的这种严重碎片化必然引发巨大混乱,我们不难想象从分支树顶端到最终用户推动bug修复会是一项多么漫长而艰难的旅程。Android.