Linuxové jadro 5.0 RC1 je dostupné s ARM big. Podpora LITTLE EAS, opravy F2FS a oveľa viac

Linuxové jadro, na ktorom sú založené všetky zariadenia so systémom Android, dostáva veľkú aktualizáciu na verziu 5.0. Prejdeme si zmeny, ktoré sú relevantné pre mobilné zariadenia.

Aj keď sa zvyčajne nezaoberáme tým, čo sa deje v oblasti hlavného jadra Linuxu, je pre nás dôležité sledovať, čo sa deje s každým novým vydaním jadra, pretože spoločnosť Google nariaďuje minimálna verzia linuxového jadra s každým novým vydaním Androidu. Nedávne rozhodnutie predĺžiť vydania LTS z 2 na 6 rokov bude hrať hlavnú úlohu pri znižovaní fragmentácie bezpečnostných opráv, pretože výrobcovia zariadení budú musieť robiť menej práce pri spätnom portovaní bezpečnostných opráv. Okrem toho hlavné jadro často integruje nové funkcie, ktoré sú relevantné pre mobilné zariadenia.

Napríklad prvý Vydanie zostavy kandidáta pre ďalšiu LTS verziu jadra, ktorá bola nedávno vydaná – Linuxové jadro 5.0 RC1. Do stabilného vydania zostáva ešte mesiac alebo dva, ale už teraz môžeme nahliadnuť do toho, čo príde v pripravovanom vydaní. Vyzdvihnem niektoré aktualizácie, ktoré sú relevantné pre mobilné zariadenia, ale ak vás vôbec zaujíma vývoj open source a linuxové jadro, odporúčam vám pozrieť si celý changelog.

ARM veľký. Podpora LITTLE EAS

Plánovanie s ohľadom na energiu je na zariadeniach s Androidom už od vydania pôvodného Pixelu. EAS je jedným z dôvodov, prečo sú zariadenia Google Pixel vo všeobecnosti šikovnejšie ako ich konkurenti. Podpora už bola povolená pri vydaní jadra Snapdragon 845 od Qualcommu, takže každé zariadenie s týmto SoC (alebo novším) bude podporovať EAS. Aj keď Linux doteraz nepodporoval plánovanie Energy Aware Scheduling. Upstream podpora by mala teoreticky uľahčiť výrobcom kremíka a zariadení implementáciu technológie do ich zariadení. Pre koncových používateľov však podpora upstream v skutočnosti veľa neznamená.

Podpora Adiantum

Speck je šifrovací algoritmus vyvinutý NSA (National Security Administration), ktorý dobre funguje na nízkom hardvéri. Google zamýšľané pridať podporu pre speck, pretože ponúka podporu šifrovania údajov pre rozpočtové zariadenia so SoC bez hardvérovo akcelerovaných rozšírení šifrovania. Prijatie Specka bolo široko kritizované kvôli jeho väzbám na NSA. Podpora pre speck bola odstránená v Linuxovom jadre 4.20 a jeho náhrada, Adiantum, funguje rovnako dobre, ak nie lepšie, na nízkom hardvéri so súborovými systémami EXT4/F2FS.

Opravy F2FS a EXT4

Flash-Friendly File-System, alebo F2FS, je široko používaný v zariadeniach so systémom Android. Google Pixel 3 a Pixel 3 XL oficiálne podpora F2FS, napríklad. Jaegeuk Kim, pôvodný vývojár F2FS, zjavne poslal žiadosť o zlúčenie o veľa opráv pre súborový systém do úložiska Linux. Tieto zmeny sa postarajú o problémy so šifrovaním a správu času nečinnosti spolu s opravami zberu odpadu. Všetky podrobnosti si môžete pozrieť v túto požiadavku na stiahnutie. Celkovo oprava F2FS zlepšuje stabilitu a spoľahlivosť na smartfónoch so systémom Android, ktoré ju podporujú alebo budú podporovať.

Podobne aj populárny súborový systém EXT4 dostal niečo cez tucet záplat. EXT4 sa používa na mnohých zariadeniach so systémom Android, ako sú najnovšie zariadenia OnePlus (vrátane OnePlus 5T, OnePlus 6 a OnePlus 6T).

Nová podpora hardvéru ARM

Distribúcie GNU/Linux sú pravdepodobne najlepšie operačné systémy na spustenie na hardvéri založenom na ARM. Ponúkajú spoľahlivý multi-tasking založený na modeli open source. Procesory ARM sú špeciálne navrhnuté tak, aby vykonávali veľa úloh naraz. Preto je dôležité, aby OS držal krok s hardvérom. Ako niektorí viete, väčšina smartfónov a tabletov so systémom Android používa čipsety s architektúrou ARM. Čipy založené na RISC sú ideálne na vykonávanie každodenných úloh (ktoré vykonávate na svojom smartfóne. Linuxové jadro 5.0 pridáva podporu pre množstvo nového hardvéru ARM. Tu sú niektoré z nich:

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

Okrem univerzálnej podpory kompatibility pre špecifický hardvér ARM má jadro Linuxu 5.0 tiež vylepšenú správu napájania.

Podpora BinderFS

Android používa Binder na výmenu argumentov medzi rôznymi procesmi v systéme. Aplikácie, aktivity a procesy používajú Binder na spúšťanie a riadenie procesov. Zabezpečenie v systéme Android je vo veľkej miere založené na povoleniach UID. Binder kontroluje UID poskytované aplikáciami pomocou obojsmerných volaní IPC, aby potvrdil, že má prístup k funkcii, ktorú chce použiť. BinderFS je aktualizovaná verzia Binder, ale je viac špecializovaná a kompatibilná so systémom. Podpora pre BinderFS sa pre koncového používateľa príliš nezmení, ale z dlhodobého hľadiska vyrieši niektoré problémy s implementáciou pre vývojárov. Tu je príslušný záväzok.

Rámec riadenia energetického modelu

Ďalším doplnkom je podpora rámca riadenia energetického modelu. Táto zmena je hlavne pre vývojárov ARM a jadra. Ponúka novú vrstvu štandardizovaných informácií o spotrebe energie z rôznych zdrojov, ako je strom zariadení alebo ovládače. Spotrebu energie a výkazníctvo rieši hardvér aj softvér odlišne. Energy Model Management Framework poskytne štandardné API, ktoré môže použiť iný ovládač v jadre na prístup k informáciám o spotrebe energie. To teoreticky uľahčí softvérovým inžinierom a vývojárom získať relevantné informácie z hardvéru. Môžete si prečítať viac o tomto rámci v tomto záväzku.

Podpora autentizácie ukazovateľa ARM64

Každé relevantné hardvérové ​​a softvérové ​​riešenie, najmä na mobilných zariadeniach, potrebuje silné bezpečnostné protokoly. To je to, čo Linuxové jadro 5.0 ponúka s podporou ARM64 Pointer Authentication. Keďže väčšina smartfónov má čipsety založené na ARM64, je dôležité, aby útočníci nemohli zneužiť ukazovatele, ktoré sa v jadre Linuxu používajú na prístup k adresám pamäte. Nový autentifikačný protokol porovnáva ukazovatele s tajnými kľúčmi. Autentifikácia ukazovateľa sa pokúsi vyhnúť programovaniu orientovanému na návrat (ROP) a iným druhom útokov.


Existuje oveľa viac aktualizácií jadra Linuxu 5.0, ktoré sme nepokryli. Väčšina z nich v skutočnosti pre zariadenia so systémom Android veľa neznamená, a preto sme museli vybrať zoznam zmien. Ak chcete vidieť celý 'changelog', pozrite si ho Foronixov pokrytie.

Vďaka XDA Recognized Developer flar2 za pomoc s týmto článkom.