Linuxkärnan som alla Android-enheter är baserade på får en stor uppdatering till version 5.0. Vi går igenom de förändringar som är relevanta för mobilen.
Även om vi vanligtvis inte täcker vad som händer i Linux-kärnan, är det viktigt för oss att hålla reda på vad som händer med varje ny kärnversion eftersom Google kräver en lägsta Linux-kärnversion krav med varje ny version av Android. Det senaste beslutet att förlänga LTS-releaser från 2 till 6 år kommer att spela en viktig roll för att minska fragmenteringen av säkerhetskorrigeringar eftersom enhetstillverkare kommer att behöva göra mindre arbete med att backportera säkerhetskorrigeringar. Dessutom integrerar huvudlinjekärnan ofta nya funktioner som är relevanta för mobila enheter.
Till exempel den första Släpp kandidatbygge för nästa LTS-version av kärnan släpptes nyligen—Linux kernel 5.0 RC1. Det är fortfarande en månad eller två kvar till stabilsläppet, men vi kan redan nu ta en titt på vad som kommer i den kommande releasen. Jag kommer att lyfta fram några av de uppdateringar som är relevanta för mobila enheter, men jag rekommenderar att du tittar igenom hela ändringsloggen om du överhuvudtaget är intresserad av utveckling av öppen källkod och Linux-kärnan.
ARM stor. LITTLE EAS-stöd
Energimedveten schemaläggning har varit en grej på Android-enheter ända sedan lanseringen av den ursprungliga Pixel. EAS är en av anledningarna till att Google Pixel-enheter i allmänhet är snabbare än sina konkurrenter. Support har redan aktiverats Qualcomms release av Snapdragon 845-kärnan, så alla enheter med denna SoC (eller nyare) kommer att stödja EAS. Även om Linux inte har haft uppströmsstöd för Energy Aware Scheduling, förrän nu. Uppströmsstöd borde teoretiskt göra det lättare för kisel- och enhetstillverkare att implementera tekniken i sina enheter. För slutanvändarna betyder dock uppströmsstöd inte så mycket.
Adiantum stöd
Speck är en NSA (National Security Administration) utvecklad krypteringsalgoritm som fungerar bra på low-end hårdvara. Google avsedd att lägga till stöd för speck eftersom det erbjuder datakrypteringsstöd för budgetenheter med SoCs som saknar hårdvaruaccelererade krypteringstillägg. Antagandet av Speck fick stor kritik på grund av dess band till NSA. Stöd för speck togs bort i Linux-kärnan 4.20, och dess ersättning, Adiantum, fungerar lika bra, om inte bättre, på low-end hårdvara med EXT4/F2FS-filsystemen.
F2FS och EXT4 fixar
Flash-vänligt filsystem, eller F2FS, är används i stor utsträckning i Android-enheter. Google Pixel 3 och Pixel 3 XL officiellt stöder F2FS, till exempel. Tydligen skickade Jaegeuk Kim, den ursprungliga utvecklaren av F2FS in en sammanslagningsbegäran om många korrigeringar för filsystemet till Linux-förvaret. Dessa ändringar tar hand om krypteringsproblem och ledig tidshantering, tillsammans med korrigeringar av sophämtning. Du kan se alla detaljer i denna pull begäran. Sammantaget förbättrar fixering av F2FS stabiliteten och tillförlitligheten på Android-smarttelefoner som stöder det eller kommer att stödja det.
På samma sätt har det populära EXT4-filsystemet fått drygt ett dussin patchar. EXT4 används på många Android-enheter som de senaste OnePlus-enheterna (inklusive OnePlus 5T, OnePlus 6 och OnePlus 6T).
Nytt ARM-hårdvarustöd
GNU/Linux-distributioner är utan tvekan de bästa operativsystemen att köra på ARM-baserad hårdvara. De erbjuder tillförlitlig multi-tasking baserat på modellen med öppen källkod. ARM-processorer är speciellt utformade för att utföra många uppgifter samtidigt. Det är därför det är viktigt för operativsystemet att hålla jämna steg med hårdvaran. Som några av er vet använder majoriteten av Android-smarttelefoner och surfplattor chipset med ARM-arkitekturen. RISC-baserade marker är perfekta för att köra vardagliga uppgifter (som du gör på din smartphone. Linux kernel 5.0 lägger till stöd för massor av ny ARM-hårdvara. Här är några av dem:
- Tegra X2
- Tegra Xavier
- Allwinner F1C100
- Qualcomm QCS404
- Allwinner T3
- NXP Layerscape LX2160
Förutom det universella kompatibilitetsstödet för specifik ARM-hårdvara, har Linux-kärnan 5.0 också förbättrad energihantering.
BinderFS-stöd
Android använder Binder för att utbyta argument mellan olika processer i systemet. Applikationer, aktiviteter och processer använder Binder för att starta och hantera processer. Säkerhet på Android är starkt baserad på UID-behörigheter. Binder kontrollerar UID: n som tillhandahålls av applikationerna med hjälp av tvåvägs IPC-samtal för att bekräfta att den har tillgång till en funktion som den vill använda. BinderFS är en uppdaterad version av Binder, men den är mer specialiserad och kompatibel med systemet. Stöd för BinderFS kommer inte att förändra mycket för en slutanvändare, men det kommer att lösa vissa implementeringsproblem för utvecklare på lång sikt. Här är relevant åtagande.
Ramverk för energimodellhantering
Ytterligare ett tillägg är stöd för Energy Model Management Framework. Denna förändring är främst för ARM- och kärnutvecklare. Den erbjuder ett nytt lager av standardiserad energianvändningsinformation från olika källor, såsom enhetsträdet eller drivrutinerna. Energiförbrukning och rapportering hanteras olika av både hårdvara och mjukvara. Energy Model Management Framework kommer att tillhandahålla ett standard-API som kan användas av en annan drivrutin i kärnan för att få tillgång till information om energiförbrukning. Detta kommer teoretiskt att göra det lättare för mjukvaruingenjörer och utvecklare att få relevant information från hårdvaran. Du kan läsa mer om detta ramverk i detta åtagande.
Stöd för ARM64 Pointer Authentication
Alla relevanta hård- och mjukvarulösningar, särskilt på mobila enheter, behöver starka säkerhetsprotokoll. Det är vad Linux kernel 5.0 erbjuder med stöd av ARM64 Pointer Authentication. Eftersom de flesta smartphones har styrkretsar baserade på ARM64, är det avgörande att angripare inte kan utnyttja pekare, som används i Linux-kärnan för att komma åt minnesadresser. Det nya autentiseringsprotokollet jämför pekare med hemliga nycklar. Pekarautentisering kommer att försöka undvika returorienterad programmering (ROP) och andra typer av attacker.
Det finns många fler uppdateringar av Linux 5.0-kärnan som vi inte täckte. De flesta av dem betyder egentligen inte så mycket för Android-enheter, så det var därför vi var tvungna att välja ändringsloggen. Om du vill se hela "ändringsloggen", kolla in Phoronix's rapportering.
Tack vare XDA Recognized Developer flar2 för hjälp med denna artikel.