Google će nastaviti sa razvojem inovacija za Android u glavnom Linux kernelu

Na konferenciji Linux Plumbers 2021, Google je govorio o uspjehu svoje inicijative za tranziciju 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. pređe na model “Upstream First” koji podrazumijeva razvoj svih novih karakteristika kernela potrebnih na Android platformi direktno u glavnom Linux kernelu, a ne u njihovim zasebnim granama ( funkcionalnost će se prvo unaprijediti u glavnu).kernel, a zatim će se koristiti u Androidu, a ne obrnuto). Također je planirano prebacivanje svih dodatnih zakrpa preostalih u grani Android Common Kernel na glavni kernel 2023. i 2024. godine.

Što se tiče bliske budućnosti, za Android 12 platformu koja se očekuje početkom oktobra, biće ponuđeni sklopovi jezgra “Generic Kernel Image” (GKI), što je moguće bliže uobičajenom 5.10 kernelu. Za ove verzije će biti obezbeđena redovna izdanja ažuriranja koja će biti objavljena u ci.android.com spremištu. U GKI kernelu, dodaci specifični za Android platformu, kao i rukovaoci OEM-a koji se odnose na hardversku podršku, smješteni su u odvojene module kernela. Ovi moduli nisu vezani za verziju glavnog kernela i mogu se razvijati zasebno, što uvelike pojednostavljuje održavanje i prelazak uređaja na nove grane kernela.

Google će nastaviti sa razvojem inovacija za Android u glavnom Linux kernelu

Interfejsi koje zahtijevaju proizvođači uređaja implementirani su u obliku kukica, koje vam omogućavaju promjenu ponašanja kernela bez promjene koda. Ukupno, jezgro android12-5.10 nudi 194 obične kuke, slične tragovima, i 107 specijalizovanih zakačivača koji vam omogućavaju da pokrenete rukovaoce u ne-atomskom kontekstu. U GKI kernelu, proizvođačima hardvera je zabranjeno da primjenjuju određene zakrpe na glavno jezgro, a komponente hardverske podrške moraju biti isporučene od strane proizvođača samo u obliku dodatnih modula kernela, koji moraju osigurati kompatibilnost sa glavnim kernelom.

Podsjetimo, Android platforma razvija vlastitu granu kernela - Android Common Kernel, na osnovu koje se formiraju posebni specifični sklopovi za svaki uređaj. Svaka grana Androida proizvođačima daje nekoliko opcija za raspored kernela za njihove uređaje. Na primjer, Android 11 nudi izbor između tri osnovna jezgra - 4.14, 4.19 i 5.4, a Android 12 nudi osnovne kernele 4.19, 5.4 i 5.10. Opcija 5.10 je dizajnirana kao generička slika kernela, u kojoj se sposobnosti neophodne za OEM proizvođače prenose na uzvodno, stavljaju u module ili prenose na Android Common Kernel.

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

  • Na osnovu glavnih LTS kernela (3.18, 4.4, 4.9, 4.14, 4.19, 5.4), kreirana je grana "Android Common Kernel" u koju su prebačene zakrpe specifične za Android (ranije je veličina promjena dostizala nekoliko miliona linija ).
  • Na osnovu "Android Common Kernel", proizvođači čipova kao što su Qualcomm, Samsung i MediaTek formirali su "SoC Kernel" koji je uključivao dodatke za podršku hardveru.
  • Na osnovu SoC kernela, proizvođači uređaja su kreirali Device Kernel, koji je uključivao promjene vezane za podršku za dodatnu opremu, ekrane, kamere, zvučne sisteme itd.

Ovaj pristup je značajno zakomplikovao implementaciju ažuriranja za uklanjanje ranjivosti i prelazak na nove grane kernela. Iako Google redovno objavljuje ažuriranja svojih Android kernela (Android Common Kernel), dobavljači često sporo isporučuju ova ažuriranja ili općenito koriste isti kernel tokom cijelog životnog ciklusa uređaja.



izvor: opennet.ru

Dodajte komentar