Google aikoo kehittää innovaatioita Androidille Linuxin pääytimessä

Linux Plumbers 2021 -konferenssissa Google puhui menestyksestä aloitteestaan ​​siirtää Android-alusta käyttämään tavallista Linux-ydintä sen sijaan, että käytettäisiin omaa ytimen versiota, joka sisältää Android-alustalle ominaisia ​​muutoksia.

Tärkein muutos kehityksessä oli päätös siirtyä vuoden 2023 jälkeen "Upstream First" -malliin, mikä tarkoittaa kaikkien Android-alustalla tarvittavien uusien ydinominaisuuksien kehittämistä suoraan Linuxin pääytimeen, ei omiin erillisiin haaroihinsa ( toiminnallisuus siirretään ensin pääkäyttöön). ydin, ja sitä käytetään sitten Androidissa, ei päinvastoin). Suunnitelmissa on myös siirtää kaikki Android Common Kernel -haarassa jäljellä olevat lisäkorjaukset pääytimeen vuosina 2023 ja 2024.

Lähitulevaisuudessa lokakuun alussa odotettavissa olevalle Android 12 -alustalle tarjotaan "Generic Kernel Image" (GKI) -ydinkokoonpanoja, jotka ovat mahdollisimman lähellä tavallista 5.10-ydintä. Näille koontiversioille tarjotaan säännöllisiä päivityksiä, jotka julkaistaan ​​ci.android.com-tietovarastoon. GKI-ytimessä Android-alustakohtaiset lisäykset sekä OEM-valmistajien laitteistotukeen liittyvät käsittelijät on sijoitettu erillisiin ydinmoduuleihin. Näitä moduuleja ei ole sidottu pääytimen versioon, ja niitä voidaan kehittää erikseen, mikä yksinkertaistaa huomattavasti laitteiden ylläpitoa ja siirtymistä uusiin ytimen haaroihin.

Google aikoo kehittää innovaatioita Androidille Linuxin pääytimessä

Laitevalmistajien vaatimat rajapinnat on toteutettu koukkuina, joiden avulla voit muuttaa ytimen toimintaa ilman muutoksia koodiin. Kaiken kaikkiaan android12-5.10-ydin tarjoaa 194 tavallista koukkua, jotka ovat samanlaisia ​​​​kuin jäljityspisteet, ja 107 erikoiskoukkua, joiden avulla voit käyttää käsittelijöitä ei-atomikontekstissa. GKI-ytimessä laitevalmistajat eivät saa asentaa tiettyjä korjaustiedostoja pääytimeen, ja myyjien tulee toimittaa laitteistotukikomponentit vain ylimääräisinä ydinmoduuleina, joiden on varmistettava yhteensopivuus pääytimen kanssa.

Muistakaamme, että Android-alusta kehittää omaa ydinhaaraansa - Android Common Kerneliä, jonka perusteella kullekin laitteelle muodostetaan erilliset erityiset kokoonpanot. Jokainen Androidin haara tarjoaa valmistajille useita vaihtoehtoja ytimen asettelulle laitteilleen. Esimerkiksi Android 11 tarjosi valittavana kolmesta perusytimestä - 4.14, 4.19 ja 5.4, ja Android 12 tarjoaa perusytimet 4.19, 5.4 ja 5.10. Vaihtoehto 5.10 on suunniteltu Generic Kernel Image -kuvaksi, jossa OEM-valmistajille tarvittavat ominaisuudet siirretään ylävirtaan, sijoitetaan moduuleihin tai siirretään Android Common Kerneliin.

Ennen GKI:n tuloa Android-ydin kävi läpi useita valmisteluvaiheita:

  • Tärkeimpien LTS-ytimien (3.18, 4.4, 4.9, 4.14, 4.19, 5.4) pohjalta luotiin "Android Common Kernelin" haara, johon siirrettiin Android-kohtaisia ​​korjauksia (aiemmin muutosten koko oli useita miljoonia rivejä ).
  • Perustuen "Android Common Kerneliin", siruvalmistajat, kuten Qualcomm, Samsung ja MediaTek, muodostivat "SoC Kernelin", joka sisälsi lisäosia laitteiston tukemiseksi.
  • Laitevalmistajat loivat SoC-ytimen pohjalta Device Kernelin, joka sisälsi lisälaitteiden, näyttöjen, kameroiden, äänijärjestelmien jne. tukeen liittyviä muutoksia.

Tämä lähestymistapa vaikeutti merkittävästi päivitysten käyttöönottoa haavoittuvuuksien poistamiseksi ja siirtymisen uusiin ydinhaaroihin. Vaikka Google julkaisee säännöllisesti päivityksiä Android-ytimilleen (Android Common Kernel), toimittajat toimittavat usein hitaasti näitä päivityksiä tai käyttävät yleensä samaa ydintä laitteen koko elinkaaren ajan.



Lähde: opennet.ru

Lisää kommentti