Android verso il supporto per il Kernel Linux mainline

3

Google è a lavoro da oltre un anno per aggiornare il Kernel usato sui dispositivi Android e renderlo il più aderente possibile al Kernel Linux mainline (la versione “curata” da Linus Torvalds nella quale confluiscono le feature più recenti) e all’ultima edizione della Linux Plumbers Conference (LPC) ha mostrato un dispositivo Android che esegue tale versione del Kernel.

Andando al sodo, sono necessari tre grandi “salti” per portare il Kernel Linux sui nostri smartphone, che possiamo schematizzare così:

  1. Modifica con tutte le patch di Google necessarie al sistema Android per “girare”;
  2. Applicazione da parte dei vari produttori (Samsung, Xiaomi, etc…) delle patch per il corretto funzionamento dei SoC (system-on-a-chip, i “circuiti integrati” dei vendor, Qualcomm in primis);
  3. Modifica e sistemazione per assicurare la compatibilità dell’hardware vario (per esempio la fotocamera, la porta usb, etc). Da notare come queste modifiche spesso siano composte da driver proprietari.

Questi tre grandi “salti” rendono praticamente impossibile la portabilità di una versione del Kernel da un dispositivo ad un altro. Sono circa 32000 le righe aggiunte (un anno fa erano 60000) e in media 1500 quelle eliminate.

I vantaggi dell’utilizzo di un Kernel in comune? L’ effort in termini di tempo per il mantenimento del codice, ma anche (e forse più importante) build Android più aggiornate, performanti e sicure: il Kernel LTS è datato novembre 2017.

Durante la conferenza, il capo progetto dello sviluppo del Kernel Android, Sandeep Patil, ha affermato:

“We know what it takes to run Android but not necessarily on any given hardware. So our goal is to basically find all of that out, then upstream it and try to be as close to mainline as possible.”

“Sappiamo bene cosa è necessario per far girare Android, ma non necessariamente come farlo su un determinato dispositivo. Il nostro obiettivo è sostanzialmente quello di scoprirlo per poi eseguire le opportune modifiche e avvicinarci il più possibile alla versione attuale del Kernel [Linux]”

Gli sforzi in questa direzione dovrebbero confluire in un altro progetto della grande G, il Project Treble: una versione del Kernel già “comune” (in un numero limitato di dispositivi) che permette ai manufacturer di inoltrare gli aggiornamenti software senza realizzare una nuova build.

In un anno gli ingegneri di Google sono passati da un’ipotesi a fatti concreti (e a discuterne i relativi problemi). La decisione è stata presa e la direzione stabilita: il 2020 e la prossima LPC faranno da palco ad una nuova versione del Kernel Android? Non lo sappiamo ancora e non possiamo fare altro che attendere i nuovi sviluppi.

Amministratore di sistema “umile ma onesto”. Inciampato in Linux per caso, è stato l’inizio di una storia d’amore bellissima.