Google bo nadaljeval z razvojem inovacij za Android v glavnem jedru Linuxa

Na konferenci Linux Plumbers 2021 je Google govoril o uspehu svoje pobude za prehod platforme Android na uporabo običajnega jedra Linuxa namesto uporabe lastne različice jedra, ki vključuje spremembe, specifične za platformo Android.

Najpomembnejša sprememba v razvoju je bila odločitev, da po letu 2023 preidemo na model »Upstream First«, ki pomeni razvoj vseh novih funkcij jedra, ki so potrebne v platformi Android, neposredno v glavnem jedru Linuxa in ne v njihovih ločenih vejah ( funkcionalnost bo najprej pomaknjena v glavno).jedro in nato uporabljena v Androidu in ne obratno). V letih 2023 in 2024 je načrtovan tudi prenos vseh dodatnih popravkov, ki ostanejo v veji skupnega jedra Androida, v glavno jedro.

Kar zadeva bližnjo prihodnost, bodo za platformo Android 12, ki se pričakuje v začetku oktobra, na voljo sklopi jedra »Generic Kernel Image« (GKI), ki bodo čim bližje običajnemu jedru 5.10. Za te gradnje bodo na voljo redne izdaje posodobitev, ki bodo objavljene v repozitoriju ci.android.com. V jedru GKI so dodatki, specifični za platformo Android, kot tudi upravljalniki proizvajalcev originalne opreme, povezani s podporo strojne opreme, postavljeni v ločene module jedra. Ti moduli niso vezani na različico glavnega jedra in jih je mogoče razvijati ločeno, kar močno poenostavi vzdrževanje in prehod naprav na nove veje jedra.

Google bo nadaljeval z razvojem inovacij za Android v glavnem jedru Linuxa

Vmesniki, ki jih zahtevajo proizvajalci naprav, so implementirani v obliki kavljev, ki vam omogočajo spreminjanje obnašanja jedra brez spreminjanja kode. Skupaj jedro android12-5.10 ponuja 194 navadnih kavljev, podobnih točkam sledenja, in 107 specializiranih kavljev, ki vam omogočajo zagon obdelovalcev v neatomskem kontekstu. V jedru GKI je proizvajalcem strojne opreme prepovedano nameščanje posebnih popravkov na glavno jedro, komponente za podporo strojne opreme pa morajo prodajalci dobaviti samo v obliki dodatnih modulov jedra, ki morajo zagotavljati združljivost z glavnim jedrom.

Spomnimo se, da platforma Android razvija lastno vejo jedra - Android Common Kernel, na podlagi katere se za vsako napravo oblikujejo ločeni specifični sklopi. Vsaka veja Androida ponuja proizvajalcem več možnosti za postavitev jedra za njihove naprave. Android 11 je na primer ponujal izbiro treh osnovnih jeder – 4.14, 4.19 in 5.4, Android 12 pa bo ponujal osnovna jedra 4.19, 5.4 in 5.10. Možnost 5.10 je zasnovana kot generična slika jedra, v kateri se zmožnosti, potrebne za proizvajalce originalne opreme, prenesejo v navzgor, postavijo v module ali prenesejo v skupno jedro Android.

Pred pojavom GKI je jedro Android šlo skozi več stopenj priprave:

  • Na podlagi glavnih jeder LTS (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) je bila ustvarjena veja »Android Common Kernel«, v katero so bili preneseni popravki, specifični za Android (prej je velikost sprememb dosegla več milijonov vrstic ).
  • Na podlagi "skupnega jedra Android" so proizvajalci čipov, kot so Qualcomm, Samsung in MediaTek, oblikovali "jedro SoC", ki je vključevalo dodatke za podporo strojne opreme.
  • Na podlagi jedra SoC so proizvajalci naprav ustvarili jedro naprave, ki je vključevalo spremembe v zvezi s podporo za dodatno opremo, zaslone, kamere, zvočne sisteme itd.

Ta pristop je bistveno zapletel izvedbo posodobitev za odpravo ranljivosti in prehod na nove veje jedra. Čeprav Google redno objavlja posodobitve za svoja jedra Android (skupno jedro Android), so prodajalci pogosto počasni pri zagotavljanju teh posodobitev ali na splošno uporabljajo isto jedro v celotnem življenjskem ciklu naprave.



Vir: opennet.ru

Dodaj komentar