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

Durante la recente conferenza Linux Plumbers 2021, Google ha parlato dei successi dell'iniziativa per migrare la piattaforma Android verso l'uso del nucleo Linux standard, invece del proprio kernel personalizzato con modifiche specifiche per la piattaforma Android.

Il cambiamento più significativo nello sviluppo è stata la decisione di passare, dopo il 2023, al modello "Upstream First", che implica lo sviluppo di tutte le nuove funzionalità del kernel necessarie per la piattaforma Android direttamente nel nucleo Linux principale, e non nei propri rami separati (le funzionalità saranno promosse prima nel nucleo principale e poi utilizzate in Android, e non viceversa). Per il 2023 e il 2024 è inoltre prevista l'integrazione di tutte le patch aggiuntive rimaste nel ramo Android Common Kernel nel nucleo principale.

Per il prossimo Android 12, previsto per inizio ottobre, saranno offerte build del kernel "Generic Kernel Image" (GKI), il più possibile simili al nucleo standard 5.10. Per queste build saranno forniti aggiornamenti regolari, che saranno resi disponibili nel repository ci.android.com. Nel kernel GKI, le estensioni specifiche per la piattaforma Android e i driver di supporto hardware forniti dai produttori OEM sono stati estratti in moduli kernel separati. Questi moduli non sono legati a versioni specifiche del nucleo principale e possono evolversi separatamente, semplificando notevolmente la manutenzione e la migrazione dei dispositivi a nuove versioni del kernel.

Google si concentrerà sullo sviluppo di innovazioni per Android nel nucleo 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 modificare il codice. In totale, nel kernel android12-5.10 sono offerti 194 hook standard, 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 nucleo principale, e i componenti per il supporto hardware devono essere forniti dai fornitori solo come moduli kernel aggiuntivi, in cui deve essere garantita la compatibilità con il nucleo principale.

Ricordiamo che sulla piattaforma Android si sta sviluppando un ramo del kernel — Android Common Kernel, sulla base del quale vengono create build specifiche per ciascun dispositivo. In ogni ramo di Android, ai produttori vengono forniti diversi modelli di configurazione dei kernel per i loro dispositivi. Ad esempio, in Android 11 erano disponibili tre kernel di base — 4.14, 4.19 e 5.4, mentre per Android 12 saranno proposti i kernel di base 4.19, 5.4 e 5.10. L'opzione 5.10 è presentata come Generic Kernel Image, che include le funzionalità necessarie per i produttori OEM trasferite in upstream, estratte in moduli o integrate nel Android Common Kernel.

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

  • Sulla base dei principali kernel LTS (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) veniva creato un ramo chiamato "Android Common Kernel", nel quale venivano trasferiti patch specifici per Android (precedentemente la dimensione delle modifiche raggiungeva diversi 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 sviluppato il «Device Kernel», che include modifiche relative al supporto di ulteriori componenti hardware, schermi, fotocamere, sistemi audio, ecc.

Questo approccio complicava notevolmente l'applicazione degli aggiornamenti per la correzione delle vulnerabilità e il passaggio a nuovi rami del kernel. Nonostante Google rilasci regolarmente aggiornamenti per i propri kernel Android (Android Common Kernel), i fornitori spesso non si affrettano a fornire questi aggiornamenti o utilizzano un unico kernel per l'intero ciclo di vita del dispositivo.

Guarda il 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