Google će nastaviti s razvojem inovacija za Android u glavnoj jezgri Linuxa

Na konferenciji Linux Plumbers 2021, Google je govorio o uspjehu svoje inicijative za prelazak Android platforme na korištenje običnog Linux kernela umjesto korištenja vlastite verzije kernela, što uključuje promjene specifične za Android platformu.

Najvažnija promjena u razvoju bila je odluka da se nakon 2023. prijeđe na model “Upstream First”, koji podrazumijeva razvoj svih novih značajki kernela potrebnih u platformi Android izravno u glavnoj jezgri Linuxa, a ne u njihovim zasebnim granama ( funkcionalnost će prvo biti promaknuta u glavnu).kernel, a zatim se koristi u Androidu, a ne obrnuto). Prijenos svih dodatnih zakrpa preostalih u grani Android Common Kernel na glavnu jezgru također je planiran za 2023. i 2024. godinu.

Što se tiče bliske budućnosti, za platformu Android 12 koja se očekuje početkom listopada, bit će ponuđeni sklopovi kernela “Generic Kernel Image” (GKI), što je moguće bliže običnom 5.10 kernelu. Za ove verzije bit će osigurana redovita izdanja ažuriranja koja će biti objavljena u repozitoriju ci.android.com. U GKI kernelu, dodaci specifični za Android platformu, kao i rukovatelji koji se odnose na hardversku podršku od OEM-a, smješteni su u zasebne module kernela. Ovi moduli nisu vezani za verziju glavnog kernela i mogu se razvijati odvojeno, što uvelike pojednostavljuje održavanje i prijelaz uređaja na nove grane kernela.

Google će nastaviti s razvojem inovacija za Android u glavnoj jezgri Linuxa

Sučelja koja zahtijevaju proizvođači uređaja implementirana su u obliku kuka, koje vam omogućuju promjenu ponašanja jezgre bez mijenjanja koda. Sveukupno, jezgra android12-5.10 nudi 194 regularne kuke, slične točkama praćenja, i 107 specijaliziranih kuka koje vam omogućuju pokretanje rukovatelja u neatomskom kontekstu. U GKI jezgri, proizvođačima hardvera zabranjeno je primjenjivati ​​specifične zakrpe na glavnu jezgru, a komponente hardverske podrške dobavljači moraju isporučivati ​​samo u obliku dodatnih modula jezgre, koji moraju osigurati kompatibilnost s glavnom jezgrom.

Podsjetimo, platforma Android razvija vlastitu granu jezgre - Android Common Kernel, na temelju koje se formiraju zasebni specifični sklopovi za svaki uređaj. Svaka grana Androida daje proizvođačima nekoliko opcija za izgled kernela za njihove uređaje. Primjerice, Android 11 nudio je izbor između tri osnovna jezgra – 4.14, 4.19 i 5.4, a Android 12 će nuditi osnovne jezgre 4.19, 5.4 i 5.10. Opcija 5.10 osmišljena je kao generička slika jezgre, u kojoj se mogućnosti potrebne za OEM-ove prenose na uzvodno, smještaju u module ili prenose na Android Common Kernel.

Prije pojave GKI-ja, Android kernel je prošao kroz nekoliko faza pripreme:

  • Na temelju glavnih LTS jezgri (3.18, 4.4, 4.9, 4.14, 4.19, 5.4), stvorena je grana "Android Common Kernela", u koju su prebačene zakrpe specifične za Android (prethodno je veličina promjena dosegla nekoliko milijuna redaka ).
  • Na temelju "Android Common Kernela", proizvođači čipova kao što su Qualcomm, Samsung i MediaTek formirali su "SoC kernel" koji uključuje dodatke za podršku hardveru.
  • Na temelju SoC kernela proizvođači uređaja kreirali su Device Kernel koji je uključivao promjene vezane uz podršku za dodatnu opremu, zaslone, kamere, zvučne sustave itd.

Ovakav pristup značajno je komplicirao implementaciju ažuriranja za uklanjanje ranjivosti i prijelaz na nove grane kernela. Iako Google redovito objavljuje ažuriranja za svoje Android kernele (Android Common Kernel), dobavljači često sporo isporučuju ta ažuriranja ili općenito koriste isti kernel tijekom cijelog životnog ciklusa uređaja.



Izvor: opennet.ru

Dodajte komentar