Szerző: Hlács Ferenc

2019. november 20. 14:50:00

Mainline Linux kernelre ültetné át az Androidot a Google

A cég leszámolna az ökoszisztéma milliónyi kernelágával, de hosszú út elé néz.

HIRDETÉS

A hagyományos, mainline Linux kernelre emelné át a Google az Android platformot - derült ki a keresőóriás az idei Linux Plumbers Conference rendezvényen tartott előadásán. A fontos mérföldkőre persze nem a közeljövőben érdemes számítani, a vállalat ugyanakkor aktívan vizsgálja a lehetőségeket, hogy az androidos készülékeken futó megannyi kernelvariáns pókhálóját átláthatóbbá tegye, ezzel a frissítések és a biztonság szempontjából is javítva a platform helyzetét.

Jelenleg ugyanis rendkívül összetett folyamat, mire az Android alatt futó kernel egy-egy készüléken munkához lát: a Google először az aktuális LTS, azaz hosszú távú támogatással rendelkező Linux kernelt forkolja saját verziójává, az Android Common Kernellé, ellátva a megfelelő rendszerspecifikus patch-ekkel. Ezt kapják meg a chipgyártók, amelyek elvégzik rajta a szükséges hardverspecifikus kiegészítéseket - ez a variáns megy tovább a készülékgyártókhoz, amelyek aztán utolsó lépésben aprólékosan az egyes modellekhez szabják azt, a processzor mellett minden egyéb komponenst figyelembe véve, a kamerától a hangszórókig.

Ahány modell, annyi kernel

Ennek megfelelően minden androidos modell eltérő, készülékspecifikus kernelt futtat - ráadásul miután hosszú folyamatról van szó, gyakran előfordul, hogy az eredetileg alapul használt LTS kernel több mint két éves, mire az adott telefon forgalomba kerül. Ahogy az Ars Technica is rámutat, még az idén októberben megjelent Google Pixel 4 is a 4.14-es LTS Linux kernelre épít, amely 2017 novemberében látott napvilágot. A készülékek pedig új kernelverziókat nem kapnak, épp a fenti folyamat nehézkessége miatt. A jelenlegi felállásban ráadásul a Google kénytelen egy-egy kernelverziót hat éven keresztül támogatni.

A vállalat elképzelései szerint első lépésként az Androidhoz szükséges módosítások lehető legnagyobb részét a mainline Linux kernelbe fésülné bele - az Android Police szerint ugyanis a tavaly februári állás szerint az Android Common Kernel több mint 32 ezer sor kódnak megfelelő kiegészítést tartalmaz, illetve 1500-nál több elemet töröl a fősodorbeli 4.14.0-s Linux kernelből. Ugyanakkor ez is előrelépésnek tekinthető, hiszen néhány évvel ezelőtt a cég még 60 ezer sor kóddal toldotta meg az eredeti kernelt.

krnldiff

A helyzeten ugyancsak javított a Google 2017-ben bejelentett Project Treble kezdeményezése, amellyel a cég különválasztja az Android rendszert a telefon hardverével közvetlenül kommunikáló illesztőprogramok rétegétől. Az utóbbiakat kezelő gyártói implementáció, illetve az Android keretrendszere közé egy szabványos interfész kerül. Ennek köszönhetően a gyártóknak nem kell a szoftverfrissítésekkel feltétlenül megvárni a komponensszállítók saját driverfrissítéseit, az új verziót házon belül elkészíthetik és ki is adhatják. A Google követelményeinek való megfelelést a VTS (Vendor Test Suite) biztosítja, ez lényegében a már ismert CTS (Compatibility Test Suite) Treble-höz készült megfelelője. Ahogy a CTS az API-k implementációját egészen részletekbe menően teszteli, úgy a VTS is részletesen dokumentálja az interfésszel való teljes körű kompatibilitást.

Mindezt a vállalat most egy lépéssel tovább vinné, a Linux kernel szintjére, amelybe a gyártói driverek kvázi "plug-in" modulként csatlakozhatnának, ami a frissítéseket nagyban megkönnyítené, illetve a gyártóktól sem igényelné, hogy megnyissák illesztőprogramjaik forrását - amire nem meglepő módon a cégek nem hajlandók. Az első körben elvégzett, az Androidra vonatkozó kiegészítéseket pedig a vállalat magába a mainline Linux kernelbe fésülné. A cég a rendezvényen egy Xiaomi Poco F1 készüléket fel is villantott, amelyen a fősodorbeli kernel futott - persze egy sor funkció nem működött a telefonon, ugyanakkor jól illusztrálta, hogy a cég már komolyan foglalkozik a rendszermag egységesítésével.

A kezdeményezés előnyeiről persze a Google-nek még a gyártópartnereket is meg kell győznie, de a Linux közösség egy része sem áll teljes vállszélességgel az ötlet mögött, attól tartva, hogy az lassítaná a kernel fejlesztését. Mindezekkel párhuzamosan ugyanakkor a Google Fuchsia operációs rendszerén is nagyban folyik a munka, amely a pletykák szerint hosszú távon az Android utódja lehet. Miután a Fuchsia saját kernelt használ, könnyen lehet, hogy a projekt végül megoldja majd a Google ilyen jellegű problémáit.

a címlapról