Google radi na korištenju običnog Linux jezgra u Androidu

Na prošloj konferenciji Linux Plumbers 2019, tvrtka Google izvijestila je o razvoju inicijative prijenosa promjena u glavno Linux jezgro, koje se razvijaju u varijanti jezgra za Android platformu. Krajnji cilj je omogućiti korištenje jednog zajedničkog jezgra u Androidu, umjesto pripreme posebnih izdanja za svaku uređaj na temelju specifične Android grane. Android Common Kernel. Ovaj cilj je već djelomično postignut, a na konferenciji je demonstriran Android pametni telefon Xiaomi Poco F1 s firmware-om temeljenim na običnom, nemodificiranom Linux jezgru.

Nakon završetka projekta, dobavljačima će biti ponuđeno da opskrbljuju osnovno jezgro na temelju glavnog Linux jezgra. Komponente za podršku hardveru bit će isporučene od strane dobavljača samo u obliku dodatnih modula jezgra, bez dodavanja patch-a u jezgro. Moduli će obavezno osigurati kompatibilnost s glavnim jezgrom na razini prostora imenskih simbola jezgra. Sve promjene koje se tiču glavnog jezgra bit će promovirane u upstream. Kako bi se očuvala kompatibilnost s vlasničkim modulima u okviru LTS grana, predlaže se održavanje stabilnog API i ABI jezgra, što će omogućiti očuvanje kompatibilnosti modula s ažuriranjima za svaku zajedničku granu jezgra.

Google radi na korištenju običnog Linux jezgra u Androidu

Tijekom godine, u glavno Linux jezgro su prenesene mogućnosti iz jezgre za Android, kao što su PSI podsustav (Pressure Stall Information) za analizu informacija o vremenu čekanja za različite resurse (CPU, memorija, ulaz/izlaz), pseudo-datotečni sustav BinderFS za mehanizam međuprocesne komunikacije Binder i energetski učinkoviti planer zadataka EAS (Energy Aware Scheduling). U budućnosti, planira se prijenos Androida s specifičnog planera SchedTune na novu podsustav UtilClamp razvijenu u ARM-u, koja se temelji na cgroups2 i standardnim mehanizmima jezgra.

Google radi na korištenju običnog Linux jezgra u Androidu

Podsjetimo, da je do sada jezgro za Android platformu prolazilo kroz nekoliko faza pripreme:

  • Na temelju glavnih LTS jezgara (3.18, 4.4, 4.9 i 4.14) stvorena je grana "Android Common Kernel", u koju su prenošene specifične za Android zakrpe (ranije su promjene dosegle nekoliko milijuna redaka, ali su se u posljednje vrijeme smanjile na nekoliko tisuća redaka koda).
  • Na temelju „Android Common Kernel“, proizvođači čipova, poput Qualcomma, razvijaju „SoC Kernel“ koji uključuje dodatke za podršku hardveru.
  • Na temelju „SoC Kernel“, proizvođači uređaja kreiraju „Device Kernel“, koji uključuje izmjene vezane uz podršku dodatnom hardveru, ekranima, kamerama, zvučnim sustavima itd.

Google radi na korištenju običnog Linux jezgra u Androidu

U suštini, za svaki uređaj se formira vlastita jezgra koja se ne može koristiti na drugim uređajima. Ovakva shema značajno otežava ažuriranje za rješavanje ranjivosti i prelazak na nove verzije jezgre. Na primjer, najnoviji pametni telefon Pixel 4 koji je izdan u listopadu dolazi s Linux jezgrom 4.14, koja je objavljena prije dvije godine. Djelomično, Google je pokušao pojednostaviti održavanje promocijom sustava Treble, koji omogućuje proizvođačima da kreiraju univerzalne komponente podrške hardveru, neovisne o konkretnim verzijama Androida i korištenim izdanjima Linux jezgre. Treble omogućuje korištenje postojećih ažuriranja od Googlea kao osnove, integrirajući u njih komponente specifične za određeni uređaj.


Pogledajte video

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster