Google jätkab Androidi uuenduste väljatöötamist Linuxi põhikernelis

Konverentsil Linux Plumbers 2021 rääkis Google oma algatuse edust viia Androidi platvorm üle tavalisele Linuxi kernelile, selle asemel et kasutada oma kerneli versiooni, mis sisaldab Androidi platvormile spetsiifilisi muudatusi.

Kõige olulisem muudatus arenduses oli otsus minna pärast 2023. aastat üle mudelile “Upstream First”, mis eeldab kõigi Androidi platvormil vajalike uute kerneli funktsioonide arendamist otse Linuxi põhikernelis, mitte aga nende eraldi harudes ( funktsioon viiakse esmalt üle peamiseks). kernel ja seejärel kasutatakse seda Androidis, mitte vastupidi). Samuti on plaanis 2023. ja 2024. aastal üle kanda kõik Android Common Kerneli harusse jäänud lisapaigad põhikernelile.

Mis puutub lähitulevikku, siis oktoobri alguses oodatavale Android 12 platvormile pakutakse "Generic Kernel Image" (GKI) kerneli komplekte, mis on võimalikult sarnased tavalisele 5.10 tuumale. Nende järkude jaoks pakutakse regulaarseid värskenduste väljalaseid, mis postitatakse saidi ci.android.com hoidlasse. GKI tuumas on Androidi platvormipõhised täiendused, aga ka originaalseadmete tootjate riistvaratoega seotud töötlejad paigutatud eraldi kerneli moodulitesse. Need moodulid ei ole seotud põhikerneli versiooniga ja neid saab eraldi arendada, mis lihtsustab oluliselt seadmete hooldust ja üleminekut uutele kerneli harudele.

Google jätkab Androidi uuenduste väljatöötamist Linuxi põhikernelis

Seadmetootjate nõutavad liidesed on realiseeritud konksude kujul, mis võimaldavad muuta tuuma käitumist ilma koodis muudatusi tegemata. Kokku pakub android12-5.10 kernel 194 tavalist konksu, mis sarnanevad jälgimispunktidega, ja 107 spetsiaalset konksu, mis võimaldavad teil käitlejaid käivitada mitteaatomilises kontekstis. GKI tuumas on riistvaratootjatel keelatud panna põhituumale spetsiifilisi plaastreid ning riistvara tugikomponente peavad tarnijad tarnima ainult täiendavate kerneli moodulitena, mis peavad tagama ühilduvuse põhikerneliga.

Meenutagem, et Androidi platvorm arendab oma kerneliharu - Android Common Kernel, mille põhjal moodustatakse iga seadme jaoks eraldi spetsiifilised sõlmed. Iga Androidi haru annab tootjatele oma seadmete tuuma paigutuse jaoks mitu võimalust. Näiteks Android 11 pakkus valida kolme põhituuma vahel – 4.14, 4.19 ja 5.4 ning Android 12 pakub põhituumasid 4.19, 5.4 ja 5.10. Valik 5.10 on loodud üldise kerneli kujutisena, milles originaalseadmete tootjatele vajalikud võimalused kantakse üle ülesvoolu, paigutatakse moodulitesse või kantakse üle Android Common Kernelile.

Enne GKI tulekut läbis Androidi kernel mitu ettevalmistamisetappi:

  • Põhiliste LTS-i tuumade (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) põhjal loodi “Android Common Kerneli” haru, kuhu kanti Android-spetsiifilised paigad (varem ulatus muudatuste suurus mitme miljoni reani). ).
  • "Android Common Kernel" põhjal moodustasid kiibitootjad nagu Qualcomm, Samsung ja MediaTek "SoC Kerneli", mis sisaldas riistvara toetavaid lisandmooduleid.
  • Seadmetootjad lõid SoC Kerneli põhjal Device Kerneli, mis sisaldas muudatusi seoses lisaseadmete, ekraanide, kaamerate, helisüsteemide jms toega.

Selline lähenemine raskendas märkimisväärselt haavatavuste kõrvaldamiseks mõeldud värskenduste juurutamist ja üleminekut uutele kerneli harudele. Kuigi Google annab regulaarselt välja oma Androidi tuumade värskendusi (Android Common Kernel), on müüjad sageli nende värskenduste tarnimisega aeglased või kasutavad üldiselt sama tuuma kogu seadme elutsükli jooksul.



Allikas: opennet.ru

Lisa kommentaar