Nucleul Linux 5.0 RC1 este disponibil cu ARM big. Asistență LITTLE EAS, remedieri F2FS și multe altele

Nucleul Linux pe care se bazează toate dispozitivele Android primește o actualizare majoră la versiunea 5.0. Trecem peste modificările care sunt relevante pentru mobil.

Deși de obicei nu acoperim ceea ce se întâmplă în domeniul principal al nucleului Linux, este important pentru noi să ținem evidența a ceea ce se întâmplă cu fiecare nouă lansare a nucleului, deoarece Google impune o versiunea minimă a nucleului Linux cerință cu fiecare nouă lansare de Android. Decizia recentă de a extinde lansările LTS de la 2 la 6 ani va juca un rol major în reducerea fragmentării patch-urilor de securitate, deoarece producătorii de dispozitive vor trebui să lucreze mai puțin în backporting-ul de corecții de securitate. În plus, nucleul principal integrează adesea noi funcții care sunt relevante pentru dispozitivele mobile.

De exemplu, primul Eliberați versiunea candidatului pentru următoarea versiune LTS a nucleului a fost lansată recent — Linux kernel 5.0 RC1. Mai sunt încă o lună sau două până la lansarea stabilă, dar putem deja să aruncăm o privire la ceea ce urmează în următoarea lansare. Voi evidenția unele dintre actualizările care sunt relevante pentru dispozitivele mobile, dar vă recomand să vă uitați peste jurnalul complet de modificări dacă sunteți deloc interesat de dezvoltarea open source și kernel-ul Linux.

BRAT mare. LITTLE EAS suport

Programare conștientă de energie a fost un lucru pe dispozitivele Android încă de la lansarea Pixel original. EAS este unul dintre motivele pentru care dispozitivele Google Pixel sunt, în general, mai rapide decât concurenții lor. Suportul a fost deja activat pentru lansarea de către Qualcomm a nucleului Snapdragon 845, astfel încât orice dispozitiv cu acest SoC (sau mai nou) va suporta EAS. Deși, Linux nu a avut suport în amonte de Energy Aware Scheduling, până acum. Asistența în amonte ar trebui, teoretic, să faciliteze implementarea tehnologiei în dispozitivele lor pentru siliciu și producătorii de dispozitive. Pentru utilizatorii finali însă, asistența în amonte nu înseamnă prea mult.

Suport Adiantum

Speck este un algoritm de criptare dezvoltat de NSA (Administrația Națională de Securitate) care funcționează bine pe hardware-ul low-end. Google destinat pentru a adăuga suport pentru speck, deoarece oferă suport pentru criptarea datelor pentru dispozitivele bugetare cu SoC-uri lipsite de extensii de criptare accelerată de hardware. Adoptarea Speck a fost criticată pe scară largă din cauza legăturilor sale cu NSA. Suportul pentru speck a fost eliminat în kernel-ul Linux 4.20, iar înlocuitorul său, Adiantum, funcționează la fel de bine, dacă nu mai bine, pe hardware-ul low-end cu sistemele de fișiere EXT4/F2FS.

Remedieri F2FS și EXT4

Flash-Friendly File-System, sau F2FS, este utilizate pe scară largă pe dispozitivele Android. Google Pixel 3 și Pixel 3 XL oficial suportă F2FS, de exemplu. Aparent, Jaegeuk Kim, dezvoltatorul original al F2FS a trimis o cerere de îmbinare pentru o mulțime de remedieri pentru sistemul de fișiere la depozitul Linux. Aceste modificări se ocupă de problemele de criptare și de gestionarea timpului de inactivitate, alături de remedieri de colectare a gunoiului. Puteți vedea toate detaliile în această cerere de tragere. În general, remedierea F2FS îmbunătățește stabilitatea și fiabilitatea pe smartphone-urile Android care îl acceptă sau îl vor suporta.

În mod similar, popularul sistem de fișiere EXT4 a primit puțin peste o duzină de patch-uri. EXT4 este utilizat pe multe dispozitive Android, cum ar fi cele mai recente dispozitive OnePlus (inclusiv OnePlus 5T, OnePlus 6 și OnePlus 6T).

Suport hardware nou ARM

Distribuțiile GNU/Linux sunt, fără îndoială, cele mai bune sisteme de operare pentru a rula pe hardware bazat pe ARM. Ele oferă multi-tasking de încredere bazat pe modelul open source. Procesoarele ARM sunt proiectate special pentru a îndeplini o mulțime de sarcini simultan. De aceea, este important ca sistemul de operare să țină pasul cu hardware-ul. După cum unii dintre voi știți, majoritatea smartphone-urilor și tabletelor Android folosesc chipset-uri cu arhitectura ARM. Cipurile bazate pe RISC sunt perfecte pentru a rula sarcinile de zi cu zi (pe care le faceți pe smartphone. Nucleul Linux 5.0 adaugă suport pentru o mulțime de hardware ARM nou. Aici sunt câțiva dintre ei:

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

Pe lângă compatibilitatea universală pentru hardware-ul ARM specific, kernelul Linux 5.0 are, de asemenea, un management îmbunătățit al energiei.

Suport pentru BinderFS

Android folosește Binder pentru a schimba argumente între diferite procese din sistem. Aplicațiile, activitățile și procesele folosesc Binder pentru lansarea și gestionarea proceselor. Securitatea pe Android se bazează în mare măsură pe permisiunile UID. Binder verifică UID-urile furnizate de aplicații folosind apeluri IPC bidirecționale pentru a confirma că are acces la o funcție pe care dorește să o utilizeze. BinderFS este o versiune actualizată a lui Binder, dar este mai specializată și compatibilă cu sistemul. Suportul pentru BinderFS nu se va schimba prea mult pentru un utilizator final, dar va rezolva unele probleme de implementare pentru dezvoltatori pe termen lung. Aici este comisionul relevant.

Cadrul de management al modelului energetic

O altă adăugare este suportul pentru Cadrul de management al modelului energetic. Această modificare este în principal pentru dezvoltatorii ARM și kernel. Oferă un nou nivel de informații standardizate privind utilizarea energiei din diferite surse, cum ar fi arborele dispozitivelor sau driverele. Consumul de energie și raportarea sunt gestionate diferit de hardware și software deopotrivă. Energy Model Management Framework va oferi un API standard care poate fi utilizat de un alt driver din nucleu pentru a accesa informații despre consumul de energie. Acest lucru va face, teoretic, mai ușor pentru inginerii și dezvoltatorii de software să obțină informațiile relevante din hardware. Puteți citi mai multe despre acest cadru în acest angajament.

Suport pentru autentificare cu pointer ARM64

Fiecare soluție hardware și software relevantă, în special pe mobil, necesită protocoale de securitate puternice. Aceasta este ceea ce oferă kernel-ul Linux 5.0 cu suportul ARM64 Pointer Authentication. Deoarece majoritatea smartphone-urilor au chipset-uri bazate pe ARM64, este esențial ca atacatorii să nu poată exploata pointerii, care sunt utilizați în nucleul Linux pentru accesarea adreselor de memorie. Noul protocol de autentificare compară pointerii cu cheile secrete. Pointer Authentication va încerca să evite programarea orientată pe returnare (ROP) și alte tipuri de atacuri.


Există mult mai multe actualizări ale nucleului Linux 5.0 pe care nu le-am acoperit. Cele mai multe dintre ele nu înseamnă prea mult pentru dispozitivele Android, așa că de aceea a trebuit să alegem jurnalul de modificări. Dacă doriți să vedeți „jurnalul de modificări” complet, verificați a lui Phoronix acoperire.

Mulțumim dezvoltatorului recunoscut XDA flar2 pentru ajutor cu acest articol.