DSU за Android 10 може да ви позволят да изпробвате OTA актуализации без обвързване

Искали ли сте някога да опитате актуализация, без всъщност да актуализирате? DSU в Android 10 е предназначен за това, но в момента е ограничен. Това може да се промени скоро.

Операционната система Android и фрагментацията на нивото на сигурност е огромен проблем, за борба с който Google инвестира много инженерни усилия. През последните две години Google обяви две големи инициативи, предназначени да ускорят пускането на актуализации: Проект Treble и Основна линия на проекта. Последният беше обявен едва през май тази година Google I/O 2019и се поддържа само на устройства, стартиращи с Android 10. Първото обаче съществува оттогава Google I/O 2017, така че видяхме колко голямо е влиянието му върху актуализациите на Android с Android 9 Pie и Android 10.

Освен намаляване на фрагментацията, Google също иска Project Treble да бъде полезен за разработчиците на приложения. Ето защо те разкриха Динамични системни актуализации (DSU) в Android 10, за да позволи на разработчиците да опитат barebone версия на нова актуализация на ОС, без да отключват буутлоудъра или да изтриват данни. Виждайки потенциала за DSU, Google не спира дотук – те разширяват неговата полезност, като правят възможно OTA актуализациите от OEM да бъдат инсталирани по същия начин, по който се инсталират GSI.

Това е много жаргон, но си представете това да се случи в бъдеще: OEM пуска телефон с Android 10 и стартира бета програма за Android 11. Интересувате се да изпробвате тази бета версия, за да видите новите функции, но не искате да рискувате стабилността на текущия си ежедневен драйвер. Вместо да флашнете бета актуализацията и след това да се надявате, че е напълно стабилна, защо не я инсталирате временно чрез потока DSU? Ако не ви харесва, просто рестартирайте и настройката ви ще се върне към нормалното. Ако ви харесва, можете да се „ангажирате“ с актуализацията.

Не знам за вас, но това би било добре дошла промяна в Android, която ще направи бета тестването по-приятно. Вече няма да се налага да се ангажирате с бета актуализация, само за да видите сами какво е. Сигурен съм, че много от вас нямат търпение да видят бета версия на Android 10 за вашето устройство, но може да не ви е удобно да го инсталирате веднага. С промените, направени в DSU, това вече няма да бъде проблем.

Динамични системни актуализации в Android 10+ - Какво се променя

Лука Стефани, приятел на портала XDA и a Признат разработчик, ни информира за a нов ангажимент обединени в AOSP, озаглавени "монтиране на множество DSU дялове, когато има." Комитът прави промени в таблицата на файловата система (fstab) и init процес, за да може DSU дялове, различни от системата, засега включително продукт и доставчик, да могат да бъдат монтирани по време на зареждане процес.

Нов код в fstab за добавяне на поддръжка за зареждане на изображения на product_gsi и vendor_gsi на мястото на съществуващите съответно дялове на продукта и на доставчика. В коментар се отбелязва, че DSU могат да бъдат подписани от OEM, но иначе поддържат официалните GSI на Google.

Понастоящем DSU е проектиран да ви позволява да зареждате само Generic System Image (GSI), системно изображение на barebone, компилирано от AOSP, така че можете да тествате новите API и други промени в последната актуализация на Android. С тази промяна обаче DSU ще приема и изображения на продукти и доставчици. Първият съдържа специфични за устройството приложения, библиотеки и други файлове, докато вторият съдържа специфични за устройството двоични файлове. Project Treble направи така, че да можете да стартирате устройство, като използвате системно изображение без файлове, специфични за устройството, така че сега да се позволи зареждането на продукт и доставчик изглежда няма много смисъл.

Въпреки това, инженер на Google изрично казва, че тази промяна е „да позволи на OEM производителите [да] инсталират OTA пакети на /data, след което да използват [the] потока „DSU“ за монтиране на product.img, system.img, [и] vendor.img от /data." Това означава, че вместо да презаписва текущата инсталация с новия OTA пакет, OTA може да бъде временно зареден чрез DSU. След изпробване на OTA актуализацията „потребителят може да реши дали иска да „завърже“ тези изображения към /super или не.“ Тази последна част за „коммитирането“ на промените все още е в процес на разработка, тъй като един инженер от Google отбелязва, че „в момента нямаме план да правим DSU дялове постоянно в контекста на DSU." След това той заявява как това може да бъде приложено, но това изпълнение е „извън обхвата" на това текуща корекция.

Има някои термини и концепции, които трябва да обясним тук, защото Google обича да променя схемата на дялове във всяка версия на Android. Като за начало препоръчвам да прочетете предишната ми статия за Динамични системни актуализации за широк преглед на това как работи, но в обобщение, той се възползва от концепцията за „динамичен дял“, един реален дял на съхранение (наречен "супер" дял), който се разделя на логически дялове с възможност за промяна на размера (включително система, доставчик, продукт и system_ext), за временно инсталиране на GSI. Когато инсталира GSI, DSU създава място за новата система и изображения на потребителски данни, като преоразмерява съществуващия дял с потребителски данни. Градивните елементи за поддръжка на DSU (динамични дялове, ramdisk и контролни точки за архивиране на данни) са изисквания за стартиране на Android 10, така че всяко устройство, стартирано с новата версия на Android OS, трябва да поддържа DSU. DSU не е решението за двойно зареждане за потребителски ROM, което някои от вас търсят, тъй като могат да се инсталират само изображения, които съответстват на Android Verified Boot (AVB) ключовете. Въпреки това, с тази нова промяна, тя може да се окаже много по-полезна в бъдеще.

В допълнение към динамичните дялове Google също така представи концепцията за „виртуален A/B“ в Android 10. Това е основно изпълнение на двойни A/B дялове от преди, но вместо това с логически дялове. A/B дяловете включват копия на важни дялове, за да позволят безпроблемни и безопасни актуализации. Използването на "виртуален A/B" е начинът, по който един инженер на Google си представя "коммитирането" на DSU дяловете към дяловете от текущата инсталация; както при текущия процес на актуализиране на A/B OTA, може би промените от новите изображения се правят в неактивния дял.

Тези промени все още са в процес на разработка и може да отнеме известно време, преди да бъдат използвани от Google или OEM производителите. Ние вероятно няма да видите никакви реализации на това, докато най-рано Android 11 R не бъде пуснат следващия година. Дори и така, няма гаранция, че OEM производителите дори приемат тази функция за своите OTA актуализации. Като се има предвид обаче колко полезно изглежда това за бета тестване, предполагам, че Google вече работи със заинтересовани OEM производители, за да активира тази функция за бъдещи актуализации. Аз лично съм развълнуван от перспективата да изпробвам нови актуализации на Android, преди да купя, но какво ще кажете за вас?