Google si concentrerà sullo sviluppo di innovazioni per Android nel kernel principale di Linux

Durante la conferenza Linux Plumbers 2021, Google ha discusso i progressi dell'iniziativa per migrare la piattaforma Android verso l'uso del kernel Linux standard, abbandonando la propria versione del kernel con modifiche specifiche per Android.

Il cambiamento più significativo nello sviluppo è stata la decisione di adottare, a partire dal 2023, il modello 'Upstream First', che prevede lo sviluppo di tutte le nuove funzionalità del kernel necessarie per la piattaforma Android direttamente nel kernel Linux principale, piuttosto che in rami separati (le funzionalità saranno prima integrate nel kernel principale e successivamente utilizzate in Android, e non viceversa). Inoltre, è previsto che nel 2023 e 2024 vengano trasferiti al kernel principale tutti i patch supplementari che rimangono nel ramo Android Common Kernel.

Nel prossimo futuro, per la prevista piattaforma Android 12 all'inizio di ottobre, saranno disponibili versioni del kernel "Generic Kernel Image" (GKI), quanto più simili possibile al kernel standard 5.10. Per queste versioni saranno previsti rilasci regolari di aggiornamenti, che saranno pubblicati nel repository ci.android.com. Nel kernel GKI, le estensioni specifiche della piattaforma Android e i gestori di supporto hardware forniti dai produttori OEM saranno trasferiti in moduli kernel separati. Questi moduli non sono legati alla versione principale del kernel e possono progredire separatamente, semplificando notevolmente la manutenzione e l'aggiornamento dei dispositivi a nuove versioni del kernel.

Google si concentrerà sullo sviluppo di innovazioni per Android nel kernel principale di Linux

Le interfacce necessarie per i produttori di dispositivi sono implementate sotto forma di hook, che consentono di modificare il comportamento del kernel senza apportare modifiche al codice. Nel kernel android12-5.10 sono proposti un totale di 194 hook generali, simili ai tracepoint, e 107 hook specializzati, che consentono di eseguire gestori in contesti non atomici. Nel kernel GKI, ai produttori di hardware è vietato applicare patch specifiche sul kernel principale, e i componenti per il supporto dell'hardware devono essere forniti dai fornitori esclusivamente sotto forma di moduli aggiuntivi del kernel, che devono garantire la compatibilità con il kernel principale.

Ricordiamo che sulla piattaforma Android si sviluppa un ramo del kernel autonomo — l'Android Common Kernel, su cui vengono create versioni specifiche per ciascun dispositivo. In ogni ramo di Android, ai produttori vengono forniti diversi layout del kernel per i loro dispositivi. Ad esempio, in Android 11 erano disponibili tre kernel di base tra cui scegliere: 4.14, 4.19 e 5.4, mentre per Android 12 verranno offerti i kernel di base 4.19, 5.4 e 5.10. Il 5.10 è presentato come Generic Kernel Image, in cui le funzionalità necessarie per i produttori OEM sono state trasferite in upstream, estratte in moduli o integrate nell'Android Common Kernel.

Prima dell'arrivo del GKI, il kernel per Android attraversava diverse fasi di preparazione:

  • Sulla base dei kernel LTS principali (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) veniva creata una diramazione «Android Common Kernel», in cui venivano trasferiti patch specifiche per Android (in precedenza, la dimensione delle modifiche raggiungeva milioni di righe).
  • Sulla base dell'«Android Common Kernel», i produttori di chip, come Qualcomm, Samsung e MediaTek, formavano il «SoC Kernel», che includeva estensioni per il supporto dell'hardware.
  • Sulla base del "SoC Kernel", i produttori di dispositivi hanno creato il "Device Kernel", che include modifiche legate al supporto di hardware aggiuntivo, schermi, fotocamere, sistemi audio, ecc.

Questo approccio ha notevolmente complicato l'implementazione degli aggiornamenti per la risoluzione delle vulnerabilità e il passaggio a nuovi rami del kernel. Sebbene Google fornisca regolarmente aggiornamenti per i suoi kernel Android (Android Common Kernel), i fornitori spesso non si affrettano a distribuire questi aggiornamenti o utilizzano addirittura un unico kernel per l'intero ciclo di vita del dispositivo.

Riproduci video


Fonte: opennet.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster