ЭКСКЛЮЗИВ: обновления программного обеспечения Pixel, изменения разделов, двойная загрузка и плавные обновления пользовательского ПЗУ.

Говоря по этому поводу с ведущим разработчиком TWRP, Dees_Troy, мы считаем, что можно использовать плавные обновления для обеспечения двойной загрузки.

Во время Google I/O в этом году компания Google официально представлен Android Nougat которая принесла несколько столь необходимых улучшений удобства использования тем из нас, кому посчастливилось владеть современным устройством Nexus. Были некоторые функции, которые Google обозначил во время ввода-вывода Google, но не нашли отражения в окончательных сборках Nougat. для текущих устройств Nexus, особенно бесшовные обновления.

Многие пользователи были разочарованы сообщением о том, что плавные обновления будут доступны только на устройствах, корабль с Android Nougat, но для тех из нас, кто планирует перейти на следующий Нексус Пиксельные устройства у нас есть потрясающая новая функция, которую мы с нетерпением ждем. Однако со времени Google I/O мы не видели никаких дополнительных подробностей об этой новой функции.

Однако это не помешало некоторым из наиболее любознательных из нас выяснить, как именно Google планирует обеспечить бесперебойную работу обновлений. Итан Йонкер, известный под псевдонимом

Дис_Трой и наиболее известен своей работой в качестве ведущего разработчика Проект восстановления команды Win, голубь прямо в исходный код Nougat выпущен Google, чтобы понять, с чем он имеет дело, когда неизбежно будут выпущены устройства Pixel. Google внес несколько интересных изменений в структуру разделов будущих устройств Pixel, и, благодаря хитрой работе разработчиков на наших форумах, Дис_Трой предполагает, что двойная загрузка может быть возможна.


Телефоны Pixel от Google и их разделы

Таблица разделов Nexus 6P

Если вы не в курсе, память вашего телефона разделена на несколько стандартных внутренних памяти. перегородки. Разделы, с которыми вы, вероятно, наиболее знакомы: /boot, /system, /data, /recovery и /cache, хотя, если вам интересно, вы можете поискать фактическая таблица разделов на вашем устройстве. Объем дискового пространства, доступного вам как пользователю, определяется размером, выделенным для раздела /data. С другой стороны, в /system находится большинство файлов операционной системы Android. Изменение размера этих двух разделов, чтобы освободить место для большего количества пользовательских приложений или, возможно, новой версии Android. определенно возможно, но этот процесс может быть рискованным, и в целом это не то, чего вам следует ожидать от вашего устройства.

Обычно при обновлении изменяются только файлы внутри /system, а обновления применяются на уровне блоков, так что dm-verity остается нетронутым. Всякий раз, когда вы обновляете свое устройство, вы, как правило, вообще не можете его активно использовать. Вместо этого вам придется дождаться восстановления, чтобы изменить все необходимые файлы в каждом разделе. Это сделано для предотвращения любых потенциальных проблем, связанных с попыткой операционной системы Android получить доступ к файлу, который в данный момент просматривается. обновлено, но, с другой стороны, это означает, что пользователям придется несколько минут смотреть, как логотип восстановления Android применяет обновлять.

До появления Android Nougat каждое устройство поставлялось только с одной копией каждого раздела. Это имеет смысл для большинства Android-смартфонов — место для хранения данных имеет большое значение (по крайней мере, мы так убеждены), так зачем беспокоиться о избыточности нескольких разделов резервного копирования? Ответ на этот вопрос — бесшовные обновления. Другой шаг Google в освоении операционных систем — Chrome OS — оказался чрезвычайно успешным. Android фактически заимствует концепцию плавных обновлений у Chrome OS. Chrome OS обеспечивает плавное обновление, обновляя набор резервных неактивных разделов в фоновом режиме, а затем перед загрузкой немедленно заменяя эти разделы активными в данный момент.

Рабочий процесс обновления Chrome OS — предположительно, Android последует чему-то похожему

Изначально мы полагали, что телефоны, поставляемые с предустановленной Nougat, будут поставляться только с дополнительным разделом /system. По словам Dees_Troy, телефоны Pixel будут поставляться с две копии большинства, если не всех разделов на устройстве.

Новые телефоны Pixel будут иметь 2 системных раздела, 2 загрузочных раздела, 2 вендорных раздела, 2 модемных раздела., и т. д. Активным будет один набор разделов — набор разделов, которые в данный момент используются для загрузки устройства. Когда обновление публикуется, оно будет применено ко второму набору в фоновом режиме. После установки обновления появится запрос на перезагрузку. Перезагрузка не будет включать загрузку в рекавери. Вместо этого устройство переключит используемый набор разделов на второй набор, и вы быстро, возможно почти мгновенно, загрузите обновленное устройство. - Дис_Трой


Телефоны Pixel с двойной загрузкой и плавное обновление пользовательских прошивок?

Дис_Трой предсказывает, что, имея две копии каждого раздела, мы сможем захватить второй набор разделов для двойной загрузки. Если вы используете одно из немногих устройств, поддерживающих Проект МультиROM, возможно, вы знакомы с перспективой использования ПЗУ с двойной загрузкой. Если вы уже имели дело с MultiROM, то вы определенно осознают, что методы, которые они используют, по сути, представляют собой один гигантский набор хаков, позволяющих заставить его работать. Андроид. В каждой ветке XDA, предоставляющей MultiROM на устройстве, в верхней части есть большой отказ от ответственности, предупреждающий пользователей о том, что «ни одна из этих систем не поддерживает мультизагрузку в «Возможно, что-то пойдет не так, и вам придется снова прошить заводские образы». Но Google любезно предоставил нам второй набор разделов для работы, Dees_Troy ожидает, что мы сможем запустить двойную загрузку на телефонах Pixel при некотором сотрудничестве между различными членами ПЗУ. сообщество.

Если мы сможем захватить второй раздел, настроенный на двойную загрузку, то мы также потенциально можем использовать эти вторичные разделы для реализации плавные обновления для пользовательских ПЗУ также. Так что, если вы один из многих преданных пользователей Cyanogenmod, работающих по ночам, вы сможете обновляться до последней версии каждую ночь без необходимости перезагружать телефон в режиме восстановления каждую ночь. Несмотря на то, что сценарии открытого восстановления TWRP и различные инструменты дельта-обновления значительно сократили время и усилия. требуется для выполнения ночного обновления, плавное обновление вашего ПЗУ в фоновом режиме определенно превосходит все другие параметры.

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

Хотя все эти предстоящие и вероятные функции звучат позитивно, мы также обнаружили множество изменений, которые усложняют разработку будущих устройств Pixel. Мы подробно расскажем об этом в другой статье, запланированной на завтра, а пока, пожалуйста, держите свою шумиху под контролем!