actualul ecosistem Android este poluat cu sute de versiuni diferite de Android, fiecare rulând o variantă diferită a kernel-ului Linux. Fiecare versiune este proiectat pentru un telefon diferit și este configurații diferite. Google a lucrat pentru a remedia problema adăugând nucleul Linux principal la Android.
modul în care nucleul Linux este gestionat în prezent în Android
înainte de a ajunge la tine, nucleul Linux de pe telefonul tău trece prin trei pași majori.
În primul rând, Google Ia versiunea LTS (Long Term Support) a kernel-ului Linux și adaugă tot codul specific Android. Acesta devine”kernel-ul comun Android”.
Google trimite apoi acest cod companiei care creează sistemul pe un cip (SoC) care rulează telefonul. Acesta este de obicei Qualcomm.
odată ce producătorul SoC termină adăugați cod pentru a sprijini CPU și alte cipuri, nucleul este apoi transmis producătorului de dispozitive real, cum ar fi Samsung sau Motorola. Producătorul de dispozitive adaugă apoi cod pentru a sprijini restul telefonului, cum ar fi afișajul și camera.
fiecare dintre acești pași durează un timp pentru a finaliza și are ca rezultat un kernel care nu va funcționa cu niciun alt dispozitiv. De asemenea, înseamnă că nucleul este foarte vechi, de obicei în jur de doi ani. De exemplu, Google Pixel 4, care a fost livrat luna trecută, are un nucleu din noiembrie 2017, care nu va fi niciodată actualizat.
Google s-a angajat să creeze patch-uri de securitate pentru dispozitivele mai vechi, ceea ce înseamnă că sunt blocate cu ochii pe un imens cod vechi.
viitorul
anul trecut, Google a anunțat planurile de a rezolva această mizerie. Anul acesta au dezvăluit ce progrese au făcut la Conferința instalatorilor Linux 2019.
„știm ce este nevoie pentru a rula Android, dar nu neapărat pe orice hardware dat. Deci, scopul nostru este de a găsi practic toate acestea, apoi în amonte și să încerce să fie cât mai aproape de linia principală posibil.”
Sandeep Patil, Android Kernel Team Lead
au prezentat un Xiaomi Poco F1 care rulează Android cu un nucleu Linux adecvat. Cu toate acestea, unele lucruri nu par să funcționeze, cum ar fi procentul bateriei care a fost blocat la 0%.
deci, cum intenționează Google să facă acest lucru? Luând o pagină din proiectul lor Treble playbook. Înainte de Project Treble, codul de nivel scăzut care a interacționat cu dispozitivul și Android în sine a fost o mare mizerie de cod. Project Treble le-a separat pe cele două și le-a făcut modulare, astfel încât actualizările Android să poată fi expediate mai repede, iar codul de nivel scăzut să rămână neschimbat între actualizări.
Google vrea să aducă aceeași modularitate kernel-ului. Planul lor ” implică stabilizarea Abi în kernel-ul Linux și având o interfață stabilă pentru kernel-ul Linux și furnizorii de hardware pentru a scrie. Google vrea să decupleze nucleul Linux de suportul hardware.”
deci, acest lucru înseamnă că Google ar livra un kernel și driverele hardware ar fi încărcate ca module de kernel. În prezent, aceasta este doar o propunere. Există încă câteva probleme tehnice care trebuie rezolvate. deci, acest lucru nu se va întâmpla în orice moment în curând.
opoziție din Open Source
comunitatea open Source nu va fi mulțumită de ideea de a pune cod proprietar în kernel. Liniile directoare ale kernel-ului Linux afirmă că driverele trebuie să aibă o licență GPL pentru a fi incluse în kernel. De asemenea, subliniază că, dacă o modificare a șoferului provoacă o eroare, aceasta va fi rezolvată de persoana care a creat eroarea. Aceasta înseamnă mai puțină muncă pentru producătorii de dispozitive pe termen lung.
Gânduri finale cu privire la includerea kernel mainline la Andorid
până în prezent, aceasta este doar o propunere. Există șanse mari ca Google să înceapă să lucreze la proiect doar pentru a-l abandona odată ce își dau seama cât de mult va dura acest lucru. Aruncați o privire la câte proiecte Google a abandonat deja.
Android Police a subliniat că Google lucrează la sistemul său de operare Fuchsia, care pare să aibă scopul de a înlocui Android într-o zi.
deci, întrebarea este ce sarcină monumentală va încerca Google să finalizeze, făcând Android să ruleze cu un nucleu Linux principal sau să lucreze complet la înlocuirea lor Android unificată? Doar timpul poate răspunde la asta.