Что такое ota и recovery

[Вопросы] В чем разница между OTA RECOVERY

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Xiaomi Comm APP

Получайте новости о Mi продукции и MIUI

Рекомендации

* Рекомендуется загружать изображения для обложки с разрешением 720*312

Изменения необратимы после отправки

Cookies Preference Center

We use cookies on this website. To learn in detail about how we use cookies, please read our full Cookies Notice. To reject all non-essential cookies simply click «Save and Close» below. To accept or reject cookies by category please simply click on the tabs to the left. You can revisit and change your settings at any time. read more

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services such as setting your privacy preferences, logging in or filling in formsYou can set your browser to block or alert you about these cookies, but some parts of thesite will not then work. These cookies do not store any personally identifiable information.

Источник

Разберемся, что из себя представляет обновление OTA на Xiaomi

Сегодня прошивки для смартфонов развиваются гораздо быстрее, чем даже пару лет назад. Различные нововведения не только улучшают опыт использования смартфоном, но и дают новые ощущения, что очень важно, если вы покупаете телефон на несколько лет вперед.

Раньше процесс обновления мог быть запутанным и весьма неудобным для новичков, но теперь «накатить» свежую версию прошивки сможет даже ребенок. За это можно благодарить способ обновления под названием OTA.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

OTA доступен для практически каждого современного смартфона. Естественно, такой способ обновления поддерживают устройства от нашего любимого бренда Xiaomi. Сегодня мы разберемся, что такое OTA и как с ним «работать».

OTA – что означает этот термин

На самом деле, OTA – уже давно существующий тип установки обновлений. Аббревиатура расшифровывается как «Over The Air», то есть «по воздуху».

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Уже из названия вы можете представить принцип «работы» OTA: вместо «ручного» скачивания файла прошивки и использования recovery, смартфон как бы ловит необходимые для него файлы с серверов производителя и в автоматическом режиме производит их установку.

Удобно это, в первую очередь, людям, которые совсем не разбираются и не хотят разбираться в процессе обновления ПО своего смартфона – все делается практически в автономном режиме, человеку остается лишь запустить процесс установки.

Плюсы обновления по воздуху

Как мы уже сказали, главный плюс OTA заключается в ее удобстве – файлы обновления закачиваются сами по себе. Кстати, вам не придется ждать подключения смартфона к Wi-Fi-сети – подойдет и мобильный Интернет. Правда, стоит помнить, что объем скачанных файлов может достигать нескольких Гигабайт – будьте аккуратны.

Однако, в целом, за минорные обновления волноваться не стоит, так как обновление не «прилетает» в виде целого файла прошивки – вы получаете лишь необходимые патчи и фиксы, что сильно убыстряет процесс установки новой прошивки.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Положительной стороной обновления OTA является также гарантия того, что на ваше устройство будет установлено официальное ПО прямиком из «дома» Xiaomi. Больше не нужно переживать по поводу вредоносных файлов и вирусов.

Еще одной чертой общего удобства от обновления по воздуху является отсутствие необходимости разблокировать загрузчик. По сути, именно этот пункт придает уверенности обычному юзеру в том, что он не сломает свое устройство из-за своих «кривых» рук.

Минусы OTA

В основном, минусы обновления по воздуху абсолютно несущественные – многие их вообще могут посчитать неважными. Все-таки мы обязаны предупредить о них.

Во-первых, OTA попросту недоступно для «умельцев», привыкших кастомизировать смартфон по свои специфичные нужды (установка другой прошивки, рут-права и так далее).

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Во-вторых, пользователи, установившие новую версию прошивки на «старое» устройство, могут заметить замедление в работе своего телефона.

Связано это с двумя причинами: 1) зачастую программисты Xiaomi не стремятся оптимизировать новые функции под устаревшее железо, 2) установка новой версии прошивки «поверх» старой (без очистки хранилища) может нести за собой ошибки несовместимости.

Как мы видим, плюсов OTA насчитывается больше, да и их вес точно уделывает возможные минусы.

Принцип работы OTA?

Выше мы говорили о том, что обновление по воздуху дает возможность скачать только те файлы, которые нужны в данный момент для «повышения» версии прошивки. Сам архив, «прилетающий» при обновлении на ваше устройство, состоит из трех главных составляющих: System (основная часть новой версии прошивки), Patch (файлы, исправляющие «косяки» предыдущей сборки) и META-INF (информация о том, что будет обновлено).

Вам не придется беспокоиться о том, как скачать данные файлы и найти путь к ним в Проводнике – все делается без вашего участия.

Как обновить ваш Xiaomi по воздуху?

Что ж, мы рассмотрели теорию – перейдем к практике. Перед началом обновления обязательно удостоверьтесь, что ваш смартфон «готов» к данному процессу.

К обязательным условиям для OTA относятся: заблокированный загрузчик со стоковым (родным) Recovery, стоковая прошивка (не кастом) и отсутствие рут-прав. Настоятельно рекомендуем поддерживать заряд вашего смартфона на уровне не ниже 60 процентов, а также «подчистить» хранилище, чтобы иметь возможность скачать необходимые файлы.

Автоматическое обновление

Начнем с самого популярного и простого способа обновить ваш Xiaomi. Исходя из названия метода, можно понять, что смартфон будет выполнять все действия по обновлению прошивки в автономном режиме – вам лишь необходимо будет соглашаться с выполнением некоторых требований устройства.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Прелесть автоматического обновления заключается в том, что в большинстве случаев вам просто-напросто придет системное уведомление о получении свежей версии прошивки. Однако если вы знаете, что обновление доступно, но уведомление так и не приходит, можно проверить его наличие вручную.

Заходим в общие Настройки смартфона и тыкаем по разделу «О телефоне». Внутри нас будет ждать список подразделов, среди которых находим пункт «Версия MIUI». Откроется меню обновления, внизу которого вы найдете кнопку «Проверить обновления». Нажимаем на нее и дожидаемся окончания поиска.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Если прошивка доступна к скачиванию, нажимаем на кнопку «Загрузить» и ждем, пока апдейт полностью загрузится. По окончании скачивания нажимаем на кнопку «Перезагрузить» и просто ждем завершения установки. В это время со смартфоном нельзя ничего делать, иначе есть большой шанс получить «кирпич».

После загрузки в систему ждем пару минут, чтобы прошивка «встала» на свои места и наслаждаемся обновлением.

Ручное обновление

Если же поиск в Настройках Xiaomi не привел к нужному результату, а свежая прошивка уже «лежит» на официальном форуме компании, то вы можете провести установку обновления в ручном режиме.

Для этого вам необходимо зайти на форум Mi Community, где всегда можно найти самые свежие (официальные) сборки под ваше устройство. В поиске сайта вбиваете модель вашего Xiaomi и переходите на его страницу. На данной странице ищете кнопку «Download Full Rom», нажимаете на нее и ожидаете окончания скачивания.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Небольшая ремарка: качать лучше сразу с телефона, чтобы не заморачиваться с перебросом архива с ПК на смартфон.

После скачивания возвращаемся к уже известному нам пункту «Версия MIUI» и нажимаем в открывшемся окне иконку в виде трех точек в верхнем правом углу экрана. Вывалится выбор из возможных действий – вам необходимо нажать на пункт «Выбрать файл прошивки».

Открывается проводник, в котором нам необходимо выбрать недавно скаченный архив с обновлением нашей прошивки. Нажимаем «Ок» и ждем завершения проверки файла и установки обновления.

Кстати, вариант ручного обновления предпочтителен для пользователей, стремящихся полностью избавиться от риска заполучить те самые ошибки при установке лишь урезанных файлов обновления. Связано это с тем, что с форума MIUI вы качаете полную версию свежей прошивки от Xiaomi.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Можно немного упростить и ускорить процесс установки полной версии обновления – для этого в пункте «Версия MIUI» (при нажатии на три точки) имеется подпункт «Скачать полную прошивку». Если вы сразу не находите данный пункт, нажмите несколько раз по логотипу MIUI 12, пока не появится сообщение о том, что дополнительные настройки стали доступны.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

После этого нажимаем на строчку «Скачать полную прошивку», ждем ее скачивания и по окончании нажимаем на «Перезагрузить». Установка пойдет своим чередом.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Дополнительные способы обновления Xiaomi

Следующие методы обновления вашего смартфона совсем не относятся к тематике OTA, но не упомянуть о них мы не можем. Ведь частенько случаются непредвиденные ситуации и свежая прошивка «встает» не так гладко, как хотелось бы. В этом случае имеет смысл воспользоваться альтернативными способами установки прошивки.

Через Recovery

Для начала рассмотрим более простой способ обновления – через встроенный Recovery. Качаем файл полной прошивки, переносим его в корень хранилища и переименовываем архив в update.zip. После выключаем телефон и заходим в сам Recovery – для этого вам необходимо зажать одновременно кнопку питания и обе кнопки управления громкостью.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Попав в рекавери, наблюдаем выбор из нескольких действий. Нам необходимо кликнуть по пункту «Install update.zip to System One». После этого начнется процесс установки, по окончании которого нажмите на кнопку «Reboot to System», чтобы включить ваше устройство.

Через Fastboot

Второй способ прошивки актуален в самых «запущенных» случаях. Например, если ваш смартфон после обновления превратился в кирпич или же появились ошибки в работе устройства, которые не решаются обычной перепрошивкой силами самого смартфона.

Для прошивки через Fastboot нам понадобится программа Mi Flash. Не так давно мы подробно рассказывали о работе с данным ПО, поэтому в этот раз затронем лишь самые важные этапы прошивки.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Обязательно скачиваем версию прошивки именно под Fastboot – стандартная версия под рекавери не подойдет. После распаковки не забываем, что ни папку, ни отдельные файлы редактировать нельзя. Также в обязательном порядке устанавливаем все необходимые драйвера. В этом нам поможет сама программа, главное – соглашаться со всеми всплывающими окошками.

Прошивка с помощью Mi Flash вернет вашему Xiaomi первозданное состояние. Именно поэтому мы используем данный способ только в экстренных случаях, когда терять уже него.

Бонус: почему я не вижу OTA-обновление, если оно уже есть на форумах?

Ответ на данный вопрос очень прост: до вас еще не дошла очередь. Дело в том, что Xiaomi отправляю файлы обновления порционно, а не сразу на все свои устройства. Сделано это для того, чтобы не допустить появления ошибок на большом количестве телефонов.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Для начала свежая версия прошивки отправляется на ограниченное количество смартфонов, чтобы проверить ее стабильность. Если компания не получает сверхнегативной критики, то начинается вторая и третья волны отправки обновления. Если же свежая прошивка приносит большое количество багов, рассылка обновления сворачивается, и программисты «допиливают» только что выпущенное ПО.

Также Xiaomi просто боятся перегруза своих серверов – сегодня в мире невообразимое количество и разнообразие продукции от китайского бренда, поэтому отправить новую версию прошивки даже для одной модели было бы непосильной задачей.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Поэтому делаем вывод: если вы не хотите заморачиваться с дополнительными возможностями обновления, то просто запаситесь терпением и ждите появления заветного уведомления о новой версии MIUI.

Источник

Ответы на вопросы по MIUI и прошивкам Xiaomi

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Ярослав Драгун 12.01.2021 41

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Для смартфонов Xiaomi существует несколько видов прошивок MIUI. Причём производитель всё так запутал, что неподготовленному пользователю трудно разобраться в индексах и регионах, для какого смартфона предназначена конкретная версия.

Даже среди официальных версий MIUI есть множество разных вариантов. Не говоря уже о кастомных сборках ОС.

Если вы хотите сами обновить прошивку на Xiaomi или протестировать альтернативный вариант системы от сторонних разработчиков, то нужно ориентироваться в видах и типах прошивок для смартфонов Сяоми.

Что такое MIUI

MIUI — это операционная система для смартфонов и планшетов, созданная на базе Андроид. Она установлена почти на всех современных телефонах Xiaomi, кроме смартфонов A-серии, которые работают на чистом Android One.

От Андроид она отличается сильно изменённым интерфейсом и дополнительными функциями, которые часто совмещают в себе существующие возможности Android и iOS, например, живые суперобои.

ОС имеет закрытый исходный код, разрабатывается и поддерживается напрямую Xiaomi. С момента выхода первой версии MIUI в 2010 году, система Сяоми сильно эволюционировала.

Версии MIUIВерсии AndroidДата выхода
MIUI V12.216.08.2010
MIUI V22.229.10.2010
MIUI V32.325.03.2011
MIUI V44.0 — 4.119.01.2012
MIUI V54.1 — 4.409.04.2013
MIUI 64.4 — 5.016.08.2014
MIUI 74.4 — 6.013.08.2015
MIUI 84.4 — 7.110.05.2016
MIUI 94.4 — 8.126.07.2017
MIUI 106.0 — 1031.05.2018
MIUI 117.0 — 1024.09.2019
MIUI 129 — 1127.04.2020
MIUI 12.510 — 1128.12.2020
MIUI 1311ранняя стадия разработки

Разработчики регулярно выпускают обновления MIUI в виде официальных прошивок для телефонов Mi, Redmi и POCO — это всё бренды Xiaomi.

Когда выходит новая версия Android, Сяоми начинает разработку обновлённой MIUI на её базе. После завершения разработки операционная система развёртывается на совместимые устройства китайской компании.

Типы прошивок: OTA, Recovery и Fastboot

По типу установки различают несколько основных видов официальных MIUI: OTA, Recovery ROM и Fastboot ROM. Они предназначены для установки совершенно разными способами и не являются совместимыми (например, Recovery ROM нельзя установить через режим Fastboot).

Рекомендуется прошиваться ОТА обновлениями или использовать Fastboot ROM. Стоковое рекавери Xiaomi бывает глючит, как и TWRP. В любом случае перед обновлением нужно сделать резервную копию пользовательских данных.

ROM (сокращение от Read-Only Memory) переводится как постоянное запоминающее устройство (ПЗУ) — это постоянная внутренняя память устройства, которая используется для долговременного хранения данных.

Прошивки отличаются расширениями:

По ссылке можно скачать официальные стоковые прошивки для смартфонов Xiaomi.

Деление MIUI по регионам мира

Компания Xiaomi выпускает смартфоны и оболочку MIUI для них с учётом регионов мира.

На сегодняшний день есть 2 официальные версии MIUI:

В свою очередь, глобальная MIUI (Global) делится на регионы. Это деление часто приводит к путанице, поскольку пользователи не знают аббревиатур в названии пакетов и не имеют понятия, чем китайская версия отличается от глобальной.

Все варианты прошивок, кроме китайских, относятся к категории глобальных Global. Поэтому в теории они должны нормально работать на любом смартфоне, имеющем статус глобального (то есть не для продажи в Китае). Если вы живёте не в Китае, то смело можете устанавливать на смартфон прошивку с пометкой Global или MI.

Есть ещё так называемые вьетнамки — это прошивки, выполненные кустарным образом из исходников оригинальной MIUI, которые устанавливаются на серые смартфоны Xiaomi. Со стабильностью у таких поделок огромные проблемы. Если вам не повезло приобрести такой смартфон, об обновлениях можно забыть. Лучше постараться сменить MIUI в телефоне на глобальную.

Существующие статусы MIUI

Речь идёт о предназначении прошивок. Различают ROM (ПЗУ) для разработчиков, закрытые и открытые бета-версии, еженедельные, ежедневные и стабильные. Они существенно отличаются друг от друга.

Виды прошивок MIUI:

Варианты для разработчиков имеют в своём названии текст Developer. Стабильные помечаются словом Stable, бета-версии носят название Closed Beta (закрытый бета-тест) и Open Beta (открытый бета-тест). Еженедельные и ежедневные пакеты отличаются цифрами в названии.

С 2019 года компания Xiaomi прекратила выкладывать в открытый доступ бета-версии. Теперь их получают только тестировщики. Но на некоторых сайтах можно скачать доступные беты для разных смартфонов. Помните, что их установка происходит на страх и риск пользователя, поскольку операционные системы такого типа могут работать нестабильно.

Установка MIUI Beta происходит только через рекавери TWRP. При этом на телефоне должна быть предварительно установлена китайская версия MIUI.

В каталоге прошивок MIUI представлены только официальные стабильные версии операционной системы.

Расшифровка кода прошивки Xiaomi

Расшифровка прошивки Xiaomi нужна для того, чтобы понять какую версию вам ставить на смартфон. Помимо модели устройства и региона, в названии скачиваемого пакета есть буквенный код, поддающийся расшифровке.

Рассмотрим для примера архив с обновлением OTA операционной системой MIUI 12 для смартфона Mi 10 — 12.2.1.0.RJBMIXM.

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Сама ссылка на загрузку этого обновления выглядит так:

http://bigota.d.miui.com/V12.2.1.0. RJBMIXM /miui_ UMI Global_V12.2.1.0.RJBMIXM_5dcaf5cf5a_11.0.zip, где RJBMIXM — это код модели, а UMI — название модели.

Расшифровка кода модели RJBMIXM:

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

На страницах моделей в каталоге официальных прошивок MIUI код модели указан у всех смартфонов. Там же есть имя модели.

Как узнать, какая прошивка стоит

Сделать это легко при помощи информации в настройках смартфона, но при условии, что установлена оригинальная версия MIUI. От пользователя потребуется минимальное количество действий.

Как узнать какая прошивка MIUI на телефоне:

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Останется расшифровать буквенное обозначение. О расшифровке мы говорили выше в этой статье.

Официальные и кастомные прошивки

Вопрос о различии официальных и кастомных прошивках для Xiaomi волнует многих пользователей. Ведь имеются даже кастомные MIUI от сторонних разработчиков.

Чтобы определить лучший вариант, нужно рассмотреть преимущества и недостатки кастомных версий. Начнём с преимуществ.

Плюсы кастомных прошивок:

Преимущества кастомных прошивок для Xiaomi выглядят привлекательно. Они позволяют всесторонне управлять смартфоном. Однако, стоит взглянуть на их недостатки. Возможно, они перевесят плюсы.

Существует MI Community Xiaomi — это многоязычное сообщество владельцев устройств Сяоми, расположенное по адресу c.mi.com, где они задают вопросы, получают на них ответы, делятся новостями и просто общаются. Форум управляется поклонниками Mi, а не официальными представителями китайской компании.

Недостатки кастомных прошивок:

Если принять во внимание все минусы кастомных прошивок, становится понятно, что они предназначены для гиков — людей, которые в случае необходимости смогут самостоятельно решить возникшие проблемы. Но если вас не пугают проблемы со стабильностью работы системы, можете ставить кастомную версию.

Для Xiaomi более или менее стабильные версии модифицированной ОС выпускают такие разработчики, как Xiaomi.eu, MIUI MIX, Helas MIUI и MIUI Italy. В этих пакетах меньше всего багов. Они стараются регулярно выпускать обновления для своих прошивок.

Информация о типах существующих прошивок для телефонов Xiaomi необходима тем, кто желает вручную установить обновление, сменить ОС или же попробовать кастомную версию. Это позволит скачать именно ту операционную систему, которая подходит для конкретного устройства.

Источник

Бесшовные A/B-обновления в Android: как они устроены

Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Всем привет. В SberDevices наша команда занимается разработкой различных железок и прошивок для них на базе AOSP.

Начиная с Android 8 (у некоторых вендоров с 7.1) в системе появился новый механизм накатки OTA-обновлений, т. н. Seamless A/B OTA Updates — бесшовные обновления. В этом посте я опишу общие принципы его работы, рассмотрю механизм с точки зрения разработчика, а также проведу сравнение со старым (будем его называть recovery-based) подходом применения обновлений. Всё нижесказанное будет справедливо только для чистого AOSP, т. к. конкретная реализация зависит от вендора.

Recovery-based OTA

Обновления для Android поставляются в виде zip-архива с образами обновляемых разделов (block-based updates). Во времена KitKat это был просто набор файлов, которые копировались на устройство прилагаемым скриптом. Я не стану подробно останавливаться на этом режиме, кратко опишу основные принципы его работы:

Seamless A/B OTA

Ключевые компоненты и механизмы, необходимые для реализации бесшовных A/B-обновлений:

Слотирование

Основным принципом работы A/B OTA является слотирование. Все разделы, которые необходимо обновлять (это могут быть любые разделы, а не только системные), должны находиться в двух копиях или, иначе, в слотах. В Android-реализации поддерживается 2 слота, которые именуются соответственно A и B. Система загружается и работает из текущего слота, второй используется только в момент обновления. К имени раздела добавляется суффикс с именем слота.

Ниже приведена таблица сравнения двух вариантов организации разделов на устройстве.
Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Все слотируемые разделы помечаются опцией монтирования slotselect, чтобы система могла выбрать правильный слот. В зависимости от того, где они описаны, это может быть fstab либо dts.

Изменения в таблице разделов

Главным достоинством A/B-обновлений является возможность стриминга прошивки. Именно она обеспечивает бесшовность и прозрачность обновлений для пользователя: для обновления устройству достаточно перезагрузиться в новый слот. В этом режиме нет необходимости заранее скачивать zip-архив, занимая место в /data. Вместо этого система сразу пишет блоки данных из специально подготовленного файла (payload, см. ниже) в каждый раздел неактивного слота. С точки зрения реализации нет разницы, скачиваем ли мы предварительно обновление либо сразу стримим его в слот.

Слоты имеют следующие состояния:

Изменение состояний слотов во время обновления:
Что такое ota и recovery. Смотреть фото Что такое ota и recovery. Смотреть картинку Что такое ota и recovery. Картинка про Что такое ota и recovery. Фото Что такое ota и recovery

Необходимые компоненты для работы с Seamless A/B.

boot_control

Для поддержки A/B-обновлений вендор должен реализовать специальный HAL-интерфейс — boot_control. Он позволяет изменять состояния слотов и получать о них информацию. Для внешней работы (например, через adb shell) используется утилита – bootctl. Интерфейс используется как средство взаимодействия между ОС и загрузчиком.

update_engine

Основной компонент всей A/B-схемы. Занимается загрузкой, стримингом обновлений, проверкой подписи и многим другим. Изменяет состояния слотов через boot_control. Позволяет контролировать процесс обновления устройства: приостанавливать, возобновлять, отменять.
Компонент пришёл в Android из ChromeOS, где уже используется некоторое время. AOSP поддерживает update_engine в виде статической sideload-сборки. Именно она используется в recovery, т.к данный режим не поддерживает динамическую линковку.

Процесс работы данного компонента можно разделить на следующие шаги:

update_engine_client

Клиент для управления демоном update_engine. Может напрямую вызываться вендором для применения обновления.

update_verifier

Утилита для проверки целостности системы при первом запуске (слот с флагом active, но еще не successful). Контроль целостности реализуется с помощью модуля ядра dm-verity. Если проверка закончилась успешно, утилита помечает текущий слот как successful. Иначе система перезагружается в старый слот. Верифицируются только блоки, указанные в файле care_map.txt.

UpdateEngineApi

Для реализации vendor-сервисов обновлений существует Java API. Также имеется пример реализации такого сервиса.

Рассмотрим пример сборки A/B update в AOSP. Для этого отредактируем Makefile целевой платформы:

После вызова make otapackage получаем zip-архив с обновлением. В таком виде он уже подходит для sideload-режима. Можем выполнить перезагрузку в recovery и вызвать adb sideload ota.zip. Этот способ удобен для отладки.

Применение обновления изнутри рабочей системы обычно определяется вендором. Самый простой способ — выложить payload.bin на http-сервер и напрямую вызвать update_engine_client.

В параметр headers передается содержимое файла payload_properties.txt. В logcat можно наблюдать прогресс обновления. Если передать ключ —follow, прогресс будет дублироваться в stdout.

Заключение

Плюсы нового механизма обновлений очевидны:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *