Google hà da passà per sviluppà innovazioni per Android in u kernel Linux principale

À a cunferenza Linux Plumbers 2021, Google hà parlatu di u successu di a so iniziativa di transizione di a piattaforma Android per utilizà un kernel Linux regular invece di utilizà a so propria versione di u kernel, chì include cambiamenti specifichi à a piattaforma Android.

U cambiamentu più impurtante in u sviluppu hè stata a decisione di cambià dopu à u 2023 à u mudellu "Upstream First", chì implica u sviluppu di tutte e funzioni di u kernel novi necessarii in a piattaforma Android direttamente in u kernel Linux principale, è micca in i so rami separati ( funziunalità sarà prima prumuvutu à u principale). kernel, è dopu usatu in Android, è micca viciversa). Hè ancu previstu di trasferisce tutti i patch supplementari rimanenti in u ramu Android Common Kernel à u kernel principale in 2023 è 2024.

In quantu à u futuru vicinu, per a piattaforma Android 12 prevista à principiu di uttrovi, l'assemblee di kernel "Generic Kernel Image" (GKI) seranu offerte, u più vicinu pussibule à u kernel 5.10 regular. Per queste custruzzioni, e versioni regulare di l'aghjurnamenti seranu furnite, chì seranu publicate in u repository ci.android.com. In u kernel GKI, l'addizioni specifiche di a piattaforma Android, è ancu i gestori di supportu hardware da OEM, sò posti in moduli di kernel separati. Questi moduli ùn sò micca ligati à a versione di u kernel principale è ponu esse sviluppati separatamente, chì simplificà assai u mantenimentu è a transizione di i dispositi à novi rami di kernel.

Google hà da passà per sviluppà innovazioni per Android in u kernel Linux principale

L'interfacce richieste da i pruduttori di i dispositi sò implementati in forma di ganci, chì permettenu di cambià u cumpurtamentu di u kernel senza fà cambiamenti à u codice. In totale, u kernel Android12-5.10 offre 194 ganci regulari, simili à i tracepoints, è 107 ganci specializati chì vi permettenu di eseguisce handlers in un cuntestu micca atomicu. In u kernel GKI, i pruduttori di hardware sò pruibiti di applicà patch specifichi à u kernel principale, è i cumpunenti di supportu di hardware deve esse furniti da i venditori solu in forma di moduli di kernel supplementari, chì devenu assicurà a cumpatibilità cù u kernel principale.

Ricurdemu chì a piattaforma Android sviluppa u so propiu ramu di u kernel - l'Android Common Kernel, nantu à a basa di quale sò formati assemblei specifichi separati per ogni dispusitivu. Ogni ramu di Android offre à i pruduttori parechje opzioni per u layout di u kernel per i so dispositi. Per esempiu, Android 11 offre una scelta di trè kernel basi - 4.14, 4.19 è 5.4, è Android 12 offre kernel basi 4.19, 5.4 è 5.10. L'opzione 5.10 hè cuncepita cum'è una Immagine di Kernel Generica, in quale e capacità necessarie per l'OEM sò trasferite in upstream, posti in moduli o trasferiti à u Kernel Common Android.

Prima di l'avventu di GKI, u kernel Android hà passatu parechje tappe di preparazione:

  • Basatu nantu à i principali kernels LTS (3.18, 4.4, 4.9, 4.14, 4.19, 5.4), hè stata creata una filiera di "Android Common Kernel", in quale sò stati trasferiti patches specifichi per Android (prima a dimensione di i cambiamenti righjunghji parechji milioni di linee). ).
  • Basatu annantu à "Android Common Kernel", i pruduttori di chip cum'è Qualcomm, Samsung è MediaTek anu furmatu "SoC Kernel" chì includeva add-ons per sustene l'hardware.
  • Basatu nantu à u SoC Kernel, i pruduttori di u dispositivu creanu u Device Kernel, chì includenu cambiamenti in relazione à u supportu per l'equipaggiu supplementu, schermi, camere, sistemi di sonu, etc.

Stu approcciu hà cumplicatu significativamente l'implementazione di l'aghjurnamenti per eliminà e vulnerabilità è a transizione à novi rami di kernel. Ancu Google libera regularmente l'aghjurnamenti à i so kernels Android (Android Common Kernel), i venditori sò spessu lenti per furnisce questi aghjurnamenti o generalmente utilizanu u stessu kernel in tuttu u ciclu di vita di un dispositivu.



Source: opennet.ru

Add a comment