Google för att lägga till Mainline Linux-kärnstöd till Android

det nuvarande Android-ekosystemet är förorenat med hundratals olika versioner av Android, var och en kör en annan variant av Linux-kärnan. Varje version är utformad för en annan telefon och det är olika konfigurationer. Google har arbetat för att åtgärda problemet genom att lägga till Linux-kärnan i huvudlinjen till Android.

hur Linux-kärnan för närvarande hanteras i Android

innan den når dig går Linux-kärnan på din mobiltelefon igenom tre stora steg.

först tar Google LTS-versionen (Long Term Support) av Linux-kärnan och lägger till all Android-specifik kod. Detta blir ”Android Common kernel”.

Google skickar sedan denna kod till företaget som skapar systemet på ett Chip (SoC) som kör din telefon. Detta är vanligtvis Qualcomm.

när SoC-tillverkaren slutar lägga till kod för att stödja CPU och andra chips, skickas kärnan vidare till den faktiska enhetstillverkaren, till exempel Samsung eller Motorola. Enhetstillverkaren lägger sedan till kod för att stödja resten av telefonen, till exempel skärmen och kameran.

vart och ett av dessa steg tar ett tag att slutföra och resulterar i en kärna som inte fungerar med någon annan enhet. Det betyder också att kärnan är mycket gammal, vanligtvis ungefär två år gammal. Till exempel har Google Pixel 4, som skickades förra månaden, en kärna från November 2017, som aldrig kommer att uppdateras.

Google har lovat att skapa säkerhetsuppdateringar för äldre enheter, vilket innebär att de sitter fast och håller ett öga på en stor hodge-podge av gammal kod.

framtiden

förra året meddelade Google planer på att fixa den här röran. I år avslöjade de vilka framsteg de gjorde på Linux Plumbers Conference 2019.

” vi vet vad som krävs för att köra Android men inte nödvändigtvis på någon viss hårdvara. Så vårt mål är att i princip hitta allt detta, sedan uppströms det och försöka vara så nära huvudlinjen som möjligt.”

Sandeep Patil, Android Kernel Team Lead

de visade upp en Xiaomi Poco F1 som kör Android med en riktig Linux-kärna. Men det verkade vissa saker inte fungera, till exempel batteriprocenten som fastnade vid 0%.

Så, hur planerar Google att göra detta arbete? Genom att ta en sida från deras projekt diskant playbook. Innan Project Treble var lågnivåkoden som interagerade med enheten och Android själv en stor röra av kod. Project Treble separerade de två och gjorde dem modulära så att Android-uppdateringar kunde skickas snabbare och lågnivåkoden kunde förbli oförändrad mellan uppdateringarna.

Google vill ta med samma modularitet till kärnan. Deras plan ” innebär att stabilisera Linuxs Abi i kärnan och ha ett stabilt gränssnitt för Linuxkärnan och hårdvaruleverantörerna att skriva till. Google vill koppla bort Linux-kärnan från sitt hårdvarustöd.”

så det betyder att Google skulle skicka en kärna och hårdvarudrivrutiner skulle laddas som kärnmoduler. För närvarande är detta bara ett förslag. Det finns fortfarande en hel del tekniska problem som måste lösas. så det här kommer inte att hända någon gång snart.

Opposition från Open Source

Open Source-communityn kommer inte att vara nöjd med tanken på att sätta proprietär kod i kärnan. Riktlinjerna för Linux-kärnan anger att förare måste ha en GPL-licens för att inkluderas i kärnan. De påpekar också att om en ändring i drivrutinen orsakar ett fel, kommer det att lösas av den person som skapade felet. Detta innebär mindre arbete för enhetstillverkare på lång sikt.

slutliga tankar om att inkludera huvudkärnan till Andorid

hittills är detta bara ett förslag. Det finns en god chans att Google kommer att börja arbeta med projektet bara för att överge det när de inser hur mycket arbete det kommer att ta. Titta bara på hur många projekt Google redan har övergivit.

Android Police gjorde en bra poäng genom att nämna att Google arbetar med sitt Fuchsia-operativsystem, vilket verkar ha som mål att ersätta Android en dag.

så frågan är vilken monumental uppgift kommer Google att försöka slutföra, få Android att köra med en huvudlinje Linux-kärna eller slutföra arbetet med deras enhetliga Android-ersättning? Endast tiden kan svara på det.

Lämna ett svar

Din e-postadress kommer inte publiceras.