Google chce, aby jądro Android było bliżej Linux mainline. To element walki z fragmentacją

Choć zwykło się mawiać, że Android jest zbudowany na bazie jądra Linux, to niezupełnie jest to stwierdzenie esencjonalne. Google chce jednak ten trend zmienić i przybliżyć się do mainline, w czym upatruje szansy na przynajmniej częściowe zwalczenie fragmentacji.

Google zapowiada koniec kernelowej samowolki, fot. Shutterstock.com
Google zapowiada koniec kernelowej samowolki, fot. Shutterstock.com
Piotr Urbaniak

21.11.2019 | aktual.: 21.11.2019 17:29

Jądro Androida to w istocie rzeczy Linux w wersji LTS, tyle że zawierający masę kodu spoza głównego repozytorium. Całą masę. Kodu specyficznego dla urządzeń, dla których jest przygotowywane, naturalnie. Są tam m.in. sterowniki do modemów i nieuwzględnionych w domyślnym jądrze Linux SoC, a także zmodyfikowany pod kątem oszczędzania energii moduł planisty.

W dodatku znaczna część producentów tworzy kompilacje pod siebie. Tu coś dodadzą, tam coś wyrzucą. AOSP Android Common Kernel, jak nazywa się ten projekt, podobnie jak sam system Android AOSP, w czystej postaci stosowany jest niezwykle rzadko.

Można by rzec, że w ten sposób daje się podważyć całą ideę Androida jako spójniej platformy dla wielu urządzeń. Skoro każdy producent ma swój własny kernel ze swoimi sterownikami, na który wrzuca jeszcze autorską nakładkę, to tak naprawdę Google Android jest podmiotem bardzo umownym; integrującym tysiące różnych forków Linuksa.

ABI dla wszystkich i zero grzebania

Tymczasem, jak ujawnił Google na Linux Plumbers Conference 2019, firma chce zbliżyć się do mainline. Tak, aby kernel stał się niejako zespołem reguł ABI i mógł służyć każdemu producentowi w niezmodyfikowanej formie. Ale to bynajmniej nie oznacza końca egzotyki w specyfikacjach, lecz wyrzucenie sterowników poza kernel.

Jak pamiętacie, podobny projekt przedstawiono już w 2017 roku. Chodzi oczywiście o Project Treble, warstwę abstrakcji mającą pomieścić specyficzne modyfikacje producentów.

Liczba wstawek Google'a do poszczególnych LTS, fot. Materiały prasowe
Liczba wstawek Google'a do poszczególnych LTS, fot. Materiały prasowe

Tyle że wówczas mówiono o tym bez refleksji nad przyszłością samego jądra, więc producenci konsekwentnie robili swoje i nawet mając zmodularyzowaną architekturę, grzebali (i grzebią) na najniższym poziomie . Teraz Google zdaje się podchodzić do tematu w sposób bardziej przemyślany i elegancki: popracować nad jądrem Linux w celu ustabilizowania ABI i wyjść do partnerów z juz gotowym back-endem.

Na dowód Tom Gall z Linaro Consumer Group wyciągnął na scenie Xiaomi Pocophone F1 z Androidem 10, działającym na niezmodyfikowanym ponoć jądrze Linux.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (65)