Google sta lavorando per utilizzare la versione principale del kernel Linux su Android

Kernel Android Linux

Durante la conferenza Linux Plumbers 2019 (un incontro annuale dei migliori sviluppatori Linux), Google ha parlato dello sviluppo di un'iniziativa a trasferire al kernel Linux principale le modifiche sviluppate in la versione del kernel per la piattaforma Android.

L'obiettivo finale è consentire ad Android di utilizzare la versione principale del kernel Linux, invece di dover preparare versioni personalizzate separate per ogni dispositivo in base al ramo Common Core di Android specifico per Android. Questo obiettivo è già stato parzialmente raggiunto e alla conferenza è stato dimostrato lo smartphone Android “Xiaomi Poco F1” con firmware basato sul solito kernel Linux non modificato.

Una volta che il progetto è pronto, Ai fornitori verrà chiesto di fornire un nucleo centrale basato sul kernel principale di Linux. Verranno forniti componenti di supporto hardware solo dai fornitori sotto forma di moduli del kernel aggiuntivi, senza patchare il kernel.

Nei moduli, la compatibilità con il kernel principale deve essere assicurata a livello di spazio dei nomi dei simboli del kernel. Tutti i cambiamenti che interessano il nucleo principale saranno promossi verso l'alto.

Inoltre per mantenere la compatibilità con moduli proprietari nell'ambito delle filiali LTS, mira a mantenere un'API e un'ABI di base stabili, che consentirà di mantenere la compatibilità dei moduli con gli aggiornamenti per ogni ramo comune del kernel.

Durante tutto l'anno, caratteristiche come il sottosistema PSI (informazioni sul blocco della pressione) per analizzare le informazioni sul timeout di varie risorse (CPU, memoria, dispositivi di input e output), lo pseudo file system di BinderFS per il meccanismo di comunicazione tra processi, sono stati trasferiti al kernel Linux principale dal kernel Android, nonché il task planner di efficienza energetica EAS (Energy Aware Scheduling).

È importante saperlo finora il kernel Android ha attraversato diverse fasi di preparazione poiché attualmente ci sono tre fork principali tra il kernel Linux principale e un dispositivo Android di spedizione.

  • Innanzitutto, Google prende il kernel Linux LTS e lo trasforma nel "Android Common Kernel", in cui il kernel Linux riceve tutte le patch specifiche del sistema operativo Android applicato.
  • Android Common viene spedito al fornitore di SoC (di solito Qualcomm) dove ottiene il suo primo round di aggiunte specifiche per l'hardware, mirando prima a un particolare modello di SoC.
  • Questo "SoC Kernel" viene quindi spedito a un produttore di dispositivi per un codice ancora più specifico per l'hardware che supporta qualsiasi altro componente hardware, come il display, la fotocamera, gli altoparlanti, le porte USB e qualsiasi altro hardware aggiuntivo.

Basato sui principali core LTS (3.18, 4.4, 4.9 e 4.14), è stato creato il ramo "Android Common Kernel", in cui sono state trasferite le patch specifiche di Android (in precedenza la dimensione delle modifiche raggiungeva diversi milioni di righe, ma recentemente le modifiche sono state ridotte a diverse migliaia di righe di codice)

Oltre al fatto che per ogni dispositivo è stato formato il proprio nucleo, che non è stato possibile utilizzare su altri dispositivi.

Un tale schema complica in modo significativo la consegna degli aggiornamenti con l'eliminazione delle vulnerabilità e il passaggio a nuovi rami del kernel. Ad esempio, l'ultimo smartphone Pixel 4 rilasciato ad ottobre viene fornito con il kernel Linux 4.14, rilasciato due anni fa.

In parte, Google ha cercato di semplificare la manutenzione promuovendo il sistema Treble, che consente ai produttori di creare componenti di supporto hardware universali che non sono legati a specifiche versioni di Android e alle versioni del kernel Linux utilizzate. Treble ti consente di utilizzare gli aggiornamenti Google già pronti come base, integrando in essi componenti specifici del dispositivo.

Mentre c'è ancora del lavoro da fare per incorporare l'ecosistema Android in modo più ampio nel kernel, oltre a richiedere molto lavoro da parte delle configurazioni dei dispositivi per modelli specifici, ma Google afferma che le cose sembrano andare bene.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.