Android jaunām Linux kodola funkcijām pāriet uz "pirms augšējo" modeli

click fraud protection

Sākot ar 2023. gadu, Google plāno pāriet uz Linux kodola funkciju izstrādes modeli operētājsistēmā Android. Lasiet tālāk, lai uzzinātu vairāk.

Kad vienā teikumā redzat vārdus "Android" un "fragmentācija", jūsu prāts, iespējams, nekavējoties pāriet uz Android versiju izplatīšanas diagramma. Ir dažas vienības, uz kurām lielākā daļa cilvēku norāda ar pirkstiem, sūdzoties, ka Android OS atjauninājumi tiek ieviesti lēni, taču Google var darīt tikai tik daudz, lai spēku OEM, lai ātrāk izstrādātu un ieviestu atjauninājumus. Tomēr Google var samazināt izstrādes laiku un līdz ar to arī atjauninājumu ieviešanas izmaksas.

Pirmā lielākā iniciatīva Google ilgtermiņa projektā attīstības sloga samazināšanai ir Projekts Treble. Projekts Treble, kas tika paziņots kopā ar Android 8.0 Oreo 2017. gadā, modularizēja Android, atdalot OS sistēmu no pārdevēja ieviešanas (HAL un ierīcei raksturīgā Linux kodola dakšas). Tādējādi Android oriģinālo iekārtu ražotājiem bija vieglāk pārbūvēt savas operētājsistēmas, izmantojot jaunāko AOSP sistēmu, jo viņi varēja palaist jaunāko versiju, neprasot atjauninātu kodu no pārdevējiem. Rezultātā oriģinālo iekārtu ražotāji varēja ātrāk nekā iepriekš sagatavot savus pielāgotos Android dakšas, kā arī ātrāk ieviest galvenos OS atjauninājumus.

Nākamais solis Google plānos bija racionalizēt atjauninājumu piegādi galvenajiem Android komponentiem. Google nosauca šo iniciatīvu Projekta galvenā līnija kad tas 2019. gadā to ieviesa kopā ar Android 10. Google būtībā pārņēma kontroli pār galvenajiem OS komponentiem un aizliedza oriģinālo iekārtu ražotājiem tos modificēt. Pēc tam viņi izveido piegādes mehānismu, izmantojot pakalpojumu Google Play, lai viņi varētu attālināti ieviest šo galveno komponentu atjauninājumus, negaidot, kamēr oriģinālo iekārtu ražotāji paši uzliks ielāpus. Mainline ievērojami uzlaboja to, cik ātri ierīces saņem svarīgu OS komponentu atjauninātās versijas, tādējādi uzlabojot Android ekosistēmas drošību kopumā.

Taču tas, kas notiks tālāk, ir vēl svarīgāks, un tas neapšaubāmi ir vissvarīgākā Google ilgtermiņa stratēģijas daļa. Kad mēs iepriekš norādījām, kā Treble modularizēja Android, atdalot OS sistēmu no pārdevēja ieviešanu, mēs iekļāvām "ierīcei raksturīgo Linux kodola dakšiņu" kā daļu no šī piegādātāja kodu. Ikviens, kurš pārzina Linux uz galddatoriem, atpazīs problēmu: kāpēc tas ir apvienots ar slēgtā pirmkoda piegādātāja kodu? Problēma ir tāda, ka, lai gan Android ierīces tiek piegādātas kopā ar Linux kodolu, šis kodols piedāvā a daudz ārpus koka koda.

Kā mēs tur nokļuvām? Problēma, kā izklāstījis Google programmatūras inženieris Tods Kjoss plkst šī gada Linux santehniķu konference (caur ArsTechnica), ir tāpēc, ka galvenais Linux kodols ir vairākas reizes savienots, pirms tas tiek piegādāts Android ierīcē. Google katru galveno Linux kodolu veido "Android kopējais kodols" filiāle, kas rūpīgi izseko galvenās līnijas laidienu, bet pievieno dažus Android specifiskus ielāpus. SoC pārdevēji, piemēram, Qualcomm, MediaTek un Samsung, pēc tam atgriežas ka kodols katram SoC, ko tie ražo. Pēc tam oriģinālo iekārtu ražotāji izmanto šo SoC specifisko kodolu un pievieno papildu ielāpus, lai ieviestu atbalstu konkrētajai aparatūrai, kuru viņi vēlas nosūtīt.

Šo izmaiņu dēļ "50% koda, kas darbojas ierīcē, ir ārpus koka (nevis no Linux vai AOSP parastajiem kodoliem)", saskaņā ar Google. Lielais ārpus koka koda daudzums šajās ierīcēs padara augšupējo izmaiņu apvienošanu par ilgu un izaicinošu procesu. Tas kaitē ierīces drošībai, jo OEM ir vairāk jāstrādā, lai ieviestu ielāpus Linux kodolā atklātajām ievainojamībām. Turklāt lielākā daļa Android ierīču paliek vairākus gadus vecas kodola versijas, kas nozīmē, ka tās neizmanto jaunas Linux kodola funkcijas.

Cenšoties risināt šo problēmu, Google strādā pie Android vispārīgā kodola attēla (GKI), kas būtībā ir kodols, kas kompilēts tieši no ACK filiāles. GKI izolē SoC pārdevēju un OEM pielāgojumus spraudņu moduļiem, novēršot ārpuskopienas kodu un ļaujot Google nosūtīt kodola atjauninājumus tieši galalietotājam. Vairāk nekā gadu Google ir strādājis pie veida, kā nodrošināt GKI atjauninājumus, izmantojot Play veikalu, izmantojot Mainline moduli.

Saskaņā ar mūsu avotiem, ierīces, kas tiek palaistas ar Android 12 un piegādāt ar Linux kodolu 5.10, ir jāizvieto Google parakstīts sāknēšanas attēls. Google pašu Pixel 6 sērija tiks izlaista ar operētājsistēmu Android 12 un tiks piegādāta ar Linux kodolu 5.10, tāpēc abi tālruņi var būt pirmās masu tirgus ierīces, kas tiks piegādātas ar GKI.

Turklāt Google pārstāvis Tods Kjoss atklāja, ka uzņēmums plāno pāriet uz "pirmkārt" jaunu Linux kodola funkciju izstrādes modeli. Tas palīdzēs Google nodrošināt, ka jaunais kods vispirms nonāk galvenajā Linux kodolā, kas samazinās turpmākos tehniskos parādus, kas uzkrāti, ja Android ierīcēs tiek uzkrāts lielāks kods.

Šonedēļ notikušajā Linux santehniķu konferencē Kjoss sacīja: "Tā kā ārpus koka moduļi ir ļoti svarīgi mūsu lietošanai, mēs sagaidām, ka mums vienmēr būs eksporta komplekts un dažas lietas, kas atšķiras vai papildinās to, kas ir augštecē, taču viss šis projekts ir vairāku gadu ilgs projekts, kura mērķis ir pēc iespējas vairāk atbrīvoties no ārpus koka esošajiem plankumiem un pēc iespējas vairāk saskaņot ar augštecē." Google mērķis ir līdz 2022. gada beigām pabeigt darbu, lai uzlabotu esošās funkcijas un izolētu piegādātāja izmaiņas. un, sākot ar 2023. gadu, uzņēmums plāno pieņemt šo "augšupējo vispirms" attīstības modeli, lai izvairītos no šādām problēmām nākotnē.