Il kernel Linux 5.0 RC1 è disponibile con ARM big. Supporto LITTLE EAS, correzioni F2FS e molto altro

click fraud protection

Il kernel Linux su cui si basano tutti i dispositivi Android sta ricevendo un importante aggiornamento alla versione 5.0. Esaminiamo le modifiche rilevanti per i dispositivi mobili.

Anche se in genere non copriamo ciò che accade nell'ambito del kernel Linux principale, è importante per noi tenere traccia di ciò che accade con ogni nuova versione del kernel poiché Google impone un versione minima del kernel Linux requisito con ogni nuova versione di Android. La recente decisione di estendere i rilasci LTS da 2 a 6 anni giocherà un ruolo importante nel ridurre la frammentazione delle patch di sicurezza poiché i produttori di dispositivi dovranno fare meno lavoro nel backport delle patch di sicurezza. Inoltre, il kernel principale spesso integra nuove funzionalità rilevanti per i dispositivi mobili.

Ad esempio, il primo Versione Release Candidate per la prossima versione LTS del kernel è stata recentemente rilasciata: Linux kernel 5.0 RC1. Manca ancora un mese o due prima del rilascio stabile, ma possiamo già dare un'occhiata a cosa accadrà nella prossima versione. Evidenzierò alcuni degli aggiornamenti rilevanti per i dispositivi mobili, ma ti consiglio di consultare l'intero registro delle modifiche se sei interessato allo sviluppo open source e al kernel Linux.

BRACCIO grande. PICCOLO supporto EAS

Pianificazione consapevole dell'energia è presente sui dispositivi Android sin dal rilascio del Pixel originale. EAS è uno dei motivi per cui i dispositivi Google Pixel sono generalmente più scattanti rispetto alla concorrenza. È già stato abilitato il supporto per il rilascio da parte di Qualcomm del kernel Snapdragon 845, quindi qualsiasi dispositivo con questo SoC (o più recente) supporterà EAS. Tuttavia, fino ad ora Linux non ha avuto il supporto a monte di Energy Aware Scheduling. Il supporto a monte dovrebbe teoricamente rendere più semplice per i produttori di silicio e dispositivi implementare la tecnologia nei propri dispositivi. Per gli utenti finali, tuttavia, il supporto a monte non significa molto.

Supporto Adiantum

Speck è un algoritmo di crittografia sviluppato dalla NSA (National Security Administration) che funziona bene su hardware di fascia bassa. Google destinato per aggiungere il supporto per speck in quanto offre supporto per la crittografia dei dati per dispositivi economici con SoC privi di estensioni di crittografia con accelerazione hardware. L'adozione di Speck è stata ampiamente criticata a causa dei suoi legami con la NSA. Il supporto per speck è stato rimosso nel kernel Linux 4.20 e il suo sostituto, Adiantum, funziona altrettanto bene, se non meglio, su hardware di fascia bassa con file system EXT4/F2FS.

Correzioni F2FS ed EXT4

Il file system Flash-Friendly, o F2FS, lo è ampiamente usato nei dispositivi Android. Ufficialmente Google Pixel 3 e Pixel 3 XL supporta F2FS, Per esempio. Apparentemente, Jaegeuk Kim, lo sviluppatore originale di F2FS, ha inviato una richiesta di fusione per molte correzioni per il file system al repository Linux. Queste modifiche risolvono i problemi di crittografia e la gestione dei tempi di inattività, oltre alle correzioni relative alla raccolta dei rifiuti. Puoi vedere tutti i dettagli in questa richiesta pull. Nel complesso, la correzione di F2FS migliora la stabilità e l'affidabilità sugli smartphone Android che lo supportano o lo supporteranno.

Allo stesso modo, il popolare file system EXT4 ha ricevuto poco più di una dozzina di patch. EXT4 è utilizzato su molti dispositivi Android come gli ultimi dispositivi OnePlus (incluso OnePlus 5T, OnePlus 6 e OnePlus 6T).

Nuovo supporto hardware ARM

Le distribuzioni GNU/Linux sono senza dubbio i migliori sistemi operativi da eseguire su hardware basato su ARM. Offrono un multitasking affidabile basato sul modello open source. I processori ARM sono progettati specificamente per eseguire molte attività contemporaneamente. Ecco perché è importante che il sistema operativo stia al passo con l’hardware. Come alcuni di voi sapranno, la maggior parte degli smartphone e tablet Android utilizzano chipset con architettura ARM. I chip basati su RISC sono perfetti per eseguire le attività quotidiane (che svolgi sul tuo smartphone. Il kernel Linux 5.0 aggiunge il supporto per molti nuovi hardware ARM. Ecco qui alcuni di loro:

  • TegraX2
  • Tegra Saverio
  • Allwinner F1C100
  • Qualcomm QCS404
  • Allwinner T3
  • NXP Layerscape LX2160

Oltre al supporto di compatibilità universale per hardware ARM specifico, il kernel Linux 5.0 ha anche migliorato la gestione dell'alimentazione.

Supporto BinderFS

Android utilizza Binder per scambiare argomenti tra diversi processi nel sistema. Applicazioni, attività e processi utilizzano Binder per avviare e gestire i processi. La sicurezza su Android si basa in gran parte sulle autorizzazioni UID. Binder controlla gli UID forniti dalle applicazioni utilizzando chiamate IPC bidirezionali per confermare di avere accesso a una funzionalità che desidera utilizzare. BinderFS è una versione aggiornata di Binder, ma è più specializzata e compatibile con il sistema. Il supporto per BinderFS non cambierà molto per un utente finale, ma nel lungo periodo risolverà alcuni problemi di implementazione per gli sviluppatori. Ecco il impegno rilevante.

Quadro di gestione del modello energetico

Un'altra aggiunta è il supporto per Energy Model Management Framework. Questa modifica riguarda principalmente gli sviluppatori ARM e kernel. Offre un nuovo livello di informazioni standardizzate sull'utilizzo dell'energia provenienti da diverse fonti, come l'albero dei dispositivi o i driver. Il consumo energetico e la reportistica vengono gestiti in modo diverso sia dall'hardware che dal software. Energy Model Management Framework fornirà un'API standard che potrà essere utilizzata da un altro driver nel kernel per accedere alle informazioni sul consumo energetico. Ciò renderà teoricamente più semplice per gli ingegneri del software e gli sviluppatori ottenere le informazioni rilevanti dall'hardware. Puoi leggere di più su questo framework in questo impegno.

Supporto per l'autenticazione del puntatore ARM64

Tutte le soluzioni hardware e software rilevanti, soprattutto sui dispositivi mobili, necessitano di protocolli di sicurezza avanzati. Questo è ciò che offre il kernel Linux 5.0 con il supporto dell'autenticazione del puntatore ARM64. Poiché la maggior parte degli smartphone dispone di chipset basati su ARM64, è fondamentale che gli aggressori non possano sfruttare i puntatori utilizzati nel kernel Linux per accedere agli indirizzi di memoria. Il nuovo protocollo di autenticazione confronta i puntatori con le chiavi segrete. L'autenticazione del puntatore tenterà di evitare la programmazione orientata al ritorno (ROP) e altri tipi di attacchi.


Ci sono molti altri aggiornamenti al kernel Linux 5.0 di cui non abbiamo parlato. La maggior parte di essi non significa molto per i dispositivi Android, ecco perché abbiamo dovuto scegliere attentamente il registro delle modifiche. Se vuoi vedere il 'log delle modifiche' completo, dai un'occhiata Quello di Foronix copertura.

Grazie allo sviluppatore riconosciuto XDA flar2 per avermi aiutato con questo articolo.