Linux kernel 5.0 RC1 dostupan je s velikim ARM-om. LITTLE EAS podrška, F2FS popravci i još mnogo toga

Linux kernel na kojem se temelje svi Android uređaji dobiva veliko ažuriranje na verziju 5.0. Prolazimo kroz promjene koje su relevantne za mobilne uređaje.

Iako obično ne pokrivamo što se događa u glavnom području Linux kernela, važno nam je pratiti što se događa sa svakim novim izdanjem kernela budući da Google nalaže minimalna verzija Linux kernela zahtjev sa svakim novim izdanjem Androida. Nedavna odluka da se produžiti LTS izdanja s 2 na 6 godina igrat će glavnu ulogu u smanjenju fragmentacije sigurnosnih zakrpa jer će proizvođači uređaja morati manje raditi na backportiranju sigurnosnih zakrpa. Osim toga, glavni kernel često integrira nove značajke koje su relevantne za mobilne uređaje.

Na primjer, prvi Izdanje verzije kandidata jer je nedavno objavljena sljedeća LTS verzija kernela—Linux kernel 5.0 RC1. Ostalo je još mjesec-dva do stabilnog izdanja, ali već sada možemo zaviriti u nadolazeće izdanje. Istaknut ću neka ažuriranja koja su relevantna za mobilne uređaje, ali preporučam da pogledate cijeli dnevnik promjena ako ste uopće zainteresirani za razvoj otvorenog koda i Linux kernela.

RUKA velika. LITTLE EAS podrška

Energetski svjesno planiranje je stvar na Android uređajima još od izdavanja originalnog Pixela. EAS je jedan od razloga zašto su Google Pixel uređaji općenito brži od svojih konkurenata. Podrška je već omogućena za Qualcommovo izdanje jezgre Snapdragon 845, tako da će svaki uređaj s ovim SoC-om (ili novijim) podržavati EAS. Iako, Linux do sada nije imao uzvodnu podršku za Energy Aware Scheduling. Upstream podrška bi teoretski trebala olakšati proizvođačima silicija i uređaja implementaciju tehnologije u svoje uređaje. Međutim, za krajnje korisnike upstream podrška zapravo ne znači mnogo.

Adiantum podrška

Speck je algoritam za šifriranje koji je razvila NSA (Uprava za nacionalnu sigurnost) koji dobro radi na jeftinijem hardveru. Google namijenjeni za dodavanje podrške za speck jer nudi podršku za enkripciju podataka za jeftine uređaje sa SoC-ovima koji nemaju proširenja za hardverski ubrzanu enkripciju. Usvajanje Specka bilo je naširoko kritizirano zbog njegovih veza s NSA-om. Podrška za speck uklonjena je u Linux kernelu 4.20, a njegova zamjena, Adiantum, radi jednako dobro, ako ne i bolje, na jeftinijem hardveru sa sustavima datoteka EXT4/F2FS.

F2FS i EXT4 popravci

Flash-Friendly File-System, ili F2FS, je Široko upotrebljavan u Android uređajima. Google Pixel 3 i Pixel 3 XL službeno podržava F2FS, na primjer. Navodno je Jaegeuk Kim, izvorni programer F2FS-a, poslao zahtjev za spajanje za dosta popravaka za datotečni sustav u Linux repozitorij. Ove promjene rješavaju probleme s enkripcijom i upravljanjem vremenom mirovanja, uz popravke skupljanja smeća. Sve detalje možete vidjeti u ovaj zahtjev za povlačenjem. Općenito, popravljanje F2FS-a poboljšava stabilnost i pouzdanost na Android pametnim telefonima koji ga podržavaju ili će ga podržavati.

Slično tome, popularni datotečni sustav EXT4 dobio je nešto više od desetak zakrpa. EXT4 se koristi na mnogim Android uređajima poput najnovijih OnePlus uređaja (uključujući OnePlus 5T, OnePlus 6 i OnePlus 6T).

Nova podrška za ARM hardver

GNU/Linux distribucije su nedvojbeno najbolji operativni sustavi za rad na hardveru temeljenom na ARM-u. Oni nude pouzdanu višezadaćnost temeljenu na modelu otvorenog koda. ARM procesori posebno su dizajnirani za obavljanje puno zadataka odjednom. Zato je važno da OS drži korak s hardverom. Kao što neki od vas znaju, većina Android pametnih telefona i tableta koristi čipsete s ARM arhitekturom. Čipovi temeljeni na RISC-u savršeni su za obavljanje svakodnevnih zadataka (koje obavljate na svom pametnom telefonu. Linux kernel 5.0 dodaje podršku za mnogo novog ARM hardvera. Ovo su neki od njih:

  • Tegra X2
  • Tegra Xavier
  • Allwinner F1C100
  • Qualcomm QCS404
  • Allwinner T3
  • NXP Layerscape LX2160

Osim univerzalne podrške kompatibilnosti za određeni ARM hardver, Linux kernel 5.0 također ima poboljšano upravljanje napajanjem.

Podrška za BinderFS

Android koristi Binder za razmjenu argumenata između različitih procesa u sustavu. Aplikacije, aktivnosti i procesi koriste Binder za pokretanje i upravljanje procesima. Sigurnost na Androidu uvelike se temelji na dopuštenjima UID-a. Binder provjerava UID-ove koje pružaju aplikacije pomoću dvosmjernih IPC poziva kako bi potvrdio da ima pristup značajci koju želi koristiti. BinderFS je ažurirana verzija Bindera, ali je specijaliziranija i kompatibilnija sa sustavom. Podrška za BinderFS neće puno promijeniti za krajnjeg korisnika, ali će dugoročno riješiti neke probleme implementacije za programere. Ovdje je relevantno počiniti.

Okvir upravljanja energetskim modelom

Još jedan dodatak je podrška za Energy Model Management Framework. Ova promjena je uglavnom za ARM i kernel programere. Nudi novi sloj standardiziranih informacija o korištenju energije iz različitih izvora, poput stabla uređaja ili upravljačkih programa. Potrošnja energije i izvješćivanje različito se rješavaju hardverom i softverom. Energy Model Management Framework će pružiti standardni API koji može koristiti drugi upravljački program u kernelu za pristup informacijama o potrošnji energije. To će teoretski olakšati softverskim inženjerima i programerima dobivanje relevantnih informacija iz hardvera. Možete pročitati više o ovom okviru u ovom obvezi.

ARM64 Pointer Authentication podrška

Svako relevantno hardversko i softversko rješenje, posebno na mobilnim uređajima, zahtijeva jake sigurnosne protokole. To je ono što Linux kernel 5.0 nudi uz podršku ARM64 Pointer Authentication. Budući da većina pametnih telefona ima čipsete temeljene na ARM64, ključno je da napadači ne mogu iskoristiti pokazivače, koji se koriste u Linux kernelu za pristup memorijskim adresama. Novi protokol provjere autentičnosti uspoređuje pokazivače s tajnim ključevima. Provjera autentičnosti pokazivača pokušat će izbjeći povratno usmjereno programiranje (ROP) i druge vrste napada.


Postoji još mnogo ažuriranja za Linux 5.0 kernel koje nismo pokrili. Većina njih zapravo ne znači puno za Android uređaje, pa smo zato morali odabrati popis promjena. Ako želite vidjeti cijeli 'changelog', provjerite Phoronixov pokrivenost.

Zahvaljujući XDA Recognised Developer plamen2 za pomoć s ovim člankom.