Розмовляючи з цього приводу з провідним розробником TWRP, Dees_Troy, ми вважаємо, що можливо використовувати безперебійні оновлення для забезпечення подвійного завантаження.
Під час цьогорічної виставки Google I/O Google офіційно представлено Android Nougat яка принесла кілька вкрай необхідних покращень зручності для тих із нас, кому пощастило мати сучасний пристрій Nexus. Були деякі функції, описані Google під час Google I/O, які не знайшли свого шляху до остаточних збірок Nougat для поточних пристроїв Nexus, дуже помітно безперервні оновлення.
Багато користувачів були розчаровані відкриттям про те, що безперервні оновлення будуть присутні лише на пристроях, які корабель з Android Nougat, але для тих із нас, хто планує оновити до наступний Nexus Пристрої Pixel у нас є чудова нова функція, на яку ми чекаємо. Однак після Google I/O ми не бачили жодної додаткової інформації про цю нову функцію.
Проте це не завадило деяким із нас більш допитливим з’ясувати, як саме Google планує працювати безперебійне оновлення. Ітан Йонкер, відомий під псевдонімом
Dees_Troy і найбільш відомий своєю роботою в якості провідного розробника на Проект відновлення команди, голуб прямо у вихідний код Nougat опублікував Google, щоб зрозуміти, з чим він має справу, коли пристрої Pixel неминуче будуть випущені. Google вніс кілька цікавих змін у структуру розділів майбутніх пристроїв Pixel – і завдяки деякій хитрій роботі розробників на наших форумах, Dees_Troy припускає, що можливо подвійне завантаження.Телефони Google Pixel та їх розділи
Якщо ви не знаєте, сховище вашого телефону розділено на кілька стандартних внутрішніх пам’яток перегородки. Розділи, з якими ви, ймовірно, найбільше знайомі, це /boot, /system, /data, /recovery та /cache, хоча, якщо вам цікаво, ви можете знайти фактичну таблицю розділів на вашому пристрої. Обсяг пам’яті, доступний вам, користувачеві, визначається розміром, виділеним для розділу /data. З іншого боку, /system - це місце, де зберігається більшість файлів операційної системи Android. Зміна розміру цих двох розділів, щоб вистачило місця для більшої кількості програм користувача або, можливо, нової версії Android однозначно можливо, але цей процес може бути ризикованим і загалом його не варто очікувати від вашого пристрою.
Як правило, коли ви оновлюєте лише файли всередині /system, і оновлення застосовуються на рівні блоку, тому dm-verity не порушується. Щоразу, коли ви оновлюєте свій пристрій, ви взагалі не можете ним активно користуватися. Натомість вам доведеться дочекатися відновлення, щоб змінити всі необхідні файли в кожному розділі. Це зроблено для запобігання будь-яким потенційним проблемам, пов’язаним із спробами операційної системи Android отримати доступ до файлу, який зараз знаходиться оновлено, але з іншого боку це означає, що користувачам доводиться кілька хвилин спостерігати за застосуванням логотипу відновлення Android оновлення.
До Android Nougat кожен пристрій поставлявся лише з однією копією кожного розділу. Це має сенс для більшості Android-смартфонів – простір для зберігання даних є невеликим (принаймні ми так вважаємо), тож навіщо турбуватися про резервування кількох розділів резервного копіювання? Відповіддю на це питання є безперебійне оновлення. Інший набіг Google на операційні системи – Chrome OS – виявився надзвичайно успішним. Android фактично запозичив концепцію плавного оновлення з Chrome OS. ОС Chrome забезпечує безперебійне оновлення, оновлюючи набір зайвих неактивних розділів у фоновому режимі, а потім негайно міняючи ці розділи на поточні активні перед завантаженням.
Спочатку ми вважали, що телефони, які поставляються з попередньо встановленою програмою Nougat, матимуть лише вторинний /системний розділ. За словами Dees_Troy, телефони Pixel поставлятимуться з дві копії більшості, якщо не всіх розділів на пристрої.
Нові телефони Pixel матимуть 2 системні розділи, 2 завантажувальні розділи, 2 розділи постачальника, 2 розділи модемаі т.д. Буде активним один набір розділів — набір розділів, які зараз використовуються для завантаження пристрою. Коли оновлення буде опубліковано, воно буде застосовано до другого набору у фоновому режимі. Щойно оновлення буде застосовано, з’явиться підказка з проханням перезавантажитися. Перезавантаження не включатиме завантаження для відновлення. Замість цього пристрій переключить набір розділів на другий набір, і ви швидко, можливо, майже миттєво завантажите оновлений пристрій. - Dees_Troy
Телефони Pixel з подвійним завантаженням і безперебійне користувальницьке оновлення ПЗУ?
Маючи дві копії кожного розділу, Dees_Troy передбачає, що ми можемо це зробити захопити другий набір розділів для подвійного завантаження. Якщо ви використовуєте один із небагатьох пристроїв, який підтримує Проект MultiROM, можливо, ви знайомі з перспективою подвійного завантаження ПЗУ. Якщо ви раніше возилися з MultiROM, то це так напевно усвідомлюють, що методи, які вони використовують, по суті, є одним гігантським набором хаків, щоб змусити його працювати Android. У кожному потоці XDA, що надає MultiROM на пристрої, угорі є велика застереження, яке попереджає користувачів про те, що «жодна з цих систем не створена з мультизавантаженням у пам’ятайте про те, що «можливо, щось піде не так, і вам доведеться знову прошити заводські зображення». Але Google люб’язно надав нам другий набір розділи для роботи, Dees_Troy очікує, що ми зможемо запустити подвійне завантаження на телефонах Pixel за певної співпраці між різними членами ПЗУ громада.
Якщо ми зможемо перехопити другий розділ, налаштований на подвійне завантаження, тоді ми також можемо використати ці вторинні розділи для реалізації плавні оновлення для користувальницьких ПЗУ так само. Отже, якщо ви один із багатьох відданих нічних користувачів Cyanogenmod, можливо, ви зможете щовечора оновлюватися до останньої версії без необхідності щовечора перезавантажувати телефон для відновлення. Незважаючи на те, що сценарії відкритого відновлення TWRP і різні інструменти оновлення дельта значно скоротили час і зусилля потрібне для виконання нічного оновлення, безперебійне оновлення ПЗУ у фоновому режимі однозначно перевершує всі інші параметри.
Зауважте, що ми не можемо бути впевнені, що ці функції працюватимуть, доки ми не матимемо під рукою робочі пристрої, але дано Велика робота Dees_Troy над TWRP і його дослідження вихідного коду Nougat, ми вважаємо, що ці припущення є дуже достовірний.
Хоча всі ці майбутні та ймовірні функції звучать позитивно, ми також виявили багато змін, які ускладнюють розробку майбутніх пристроїв Pixel. Ми детально розповімо про це в іншій статті, запланованій на завтра, а тим часом, будь ласка, тримайте свій ажіотаж!