A múltbeli Linux Plumbers 2019 konferencián a Google a fejlesztésről beszélt a Linux fő kernelébe történő átviteli változtatásokról, amelyek készült A végső cél az, hogy lehetővé tegyék az Android számára egy közös kernel használatát, ahelyett, hogy minden egyes eszköz számára külön-külön, Android-specifikus verziót készítenének. . E cél már részben megvalósult, és a konferencián bemutatták a Xiaomi Poco F1 Android okostelefont, amely az alapértelmezett, módosítatlan Linux kernelre épülő firmware-rel rendelkezik.
A projekt készenléte után a gyártók számára lehetőséget fognak biztosítani, hogy a Linux középső kerneljének alapját nyújtsák. Az eszköz támogatásához szükséges összetevőket a gyártók csak a kernel kiegészítő moduljaiként fogják biztosítani, anélkül hogy patch-eket alkalmaznának a kernelre. A moduloknak biztosítaniuk kell a kompatibilitást az alap kernel szimbólumok névtér szintjén. Minden olyan változtatás, amely az alap kernel-t érinti, upstream fognak haladni. Az LTS-ágak keretein belül a tulajdonjogú modulokkal való kompatibilitás megőrzése érdekében ajánlott az API és az ABI stabil megőrzése, ami lehetővé teszi a modulok kompatibilitását a kernel minden közös ágainak frissítéseivel.

Egy év alatt az alap Linux kernelbe átvizióra került az Android kernel verziókból számos lehetőség, például a PSI (Pressure Stall Information) alrendszer, amely az erőforrások (CPU, memória, I/O) beszerzésének várakozási idejéről szolgáltat információt, a BinderFS álkérdő rendszer a Binder közötti interprocessz kommunikációs mechanizmushoz, és az energiatakarékos EAS (Energy Aware Scheduling) feladatütemező. A jövőben az Android tervezett átállni a speciális SchedTune ütemezőről egy ARM által kifejlesztett új UtilClamp alrendszerre, amely a cgroups2 és a kernel beépített mechanizmusaira épül.

Emlékeztetjük, hogy eddig az Android platform számára készült kernel több elkészítési fázison ment keresztül:
- Az alapvető LTS-kernelek (3.18, 4.4, 4.9 és 4.14) alapján létrehozták az «Android Common Kernel» ágat, amelybe az Android-specific patch-ek kerültek, régebben a változások mennyisége elérte a több millió sort, de mostanában a változások néhány ezer sor kódra csökkentek.
- Az „Android Common Kernel” alapján a chippgyártók, mint például a Qualcomm, megalkották a „SoC Kernel”-t, amely tartalmazza a hardver támogatásához szükséges kiegészítőket.
- A 'SoC Kernel' alapján az eszközgyártók 'Device Kernel'-t hoztak létre, amelyek tartalmazzák a kiegészítő hardver, képernyők, kamerák, hangrendszerek stb. támogatásával kapcsolatos módosításokat.

Lényegében minden eszköz számára saját magját képezte a kernelt, amelyet nem lehetett más eszközökön használni. Ez a megoldás jelentősen megnehezíti a biztonsági frissítések alkalmazását és az új kernel ágakra való áttérést. Például a legújabb Pixel 4 okostelefon, amely októberben jelent meg, az két évvel ezelőtt kiadott Linux 4.14 kernellel érkezik. Részben a Google próbálta egyszerűsíteni a karbantartást, előmozdítva a , amely lehetővé teszi a gyártók számára, hogy univerzális hardvertámogatási összetevőket alkossanak, amelyek nem kötődnek konkrét Android verziókhoz és a használt Linux kernel kiadásokhoz. A Treble lehetőséget nyújt arra, hogy már meglévő frissítéseket használjunk alapként a Google-tól, integrálva azokat az eszközspecifikus összetevőkkel.

Forrás: opennet.ru
