Проект postmarketOS представил Duranium, атомарно обновляемую редакцию для смартфонов

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 1171
Зарегистрирован: 20.08.2022

#

Проект postmarketOS представил Duranium, атомарно обновляемую редакцию для смартфонов
Дата публикации:Wed, 18 Mar 2026 11:01:02 +0300

Разработчики проекта postmarketOS, развивающего дистрибутив Linux для мобильных устройств, объявили о создании атомарно обновляемого варианта дистрибутива. Новая редакция развивается под именем Duranium и примечательна поставкой системы как единого целого, без разделения на отдельные пакеты. Отмечается, что новый вариант соответствует идее, что устройство должно просто работать, без необходимости пользователю знать о существовании терминала и разбираться в особенностях системы.
Системное окружение в разделе /usr монтируется в режиме только для чтения с использованием ФС EROFS и верифицируется при каждой загрузке по цифровой подписи. Раздел /usr имеет размер 5GB. Для контроля целостности данных в разделе /usr применяется dm-verity, а при при выявлении модификации содержимого - загрузка блокируется. Проверочный хэш встраивается в унифицированный образ UKI (Unified Kernel Image), объединяющий обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd, применяемое для начальной инициализации на стадии до монтирования корневой ФС. UKI-образ оформляется в виде одного исполняемого файла в формате PE и вызывается загрузчиком UEFI.
Остальные каталоги, кроме /usr, входят в состав корневого раздела, доступного на запись и сохраняемого между перезапусками и обновлениями. Содержимое корневого раздела обязательно шифруется с использованием LUKS2, что обуславливает повышение требований к оборудованию. Шифрованная корневая ФС создаётся во время первой загрузки или после выполнения сброса к заводским настройкам. По умолчанию создаётся пустой ключ, допускающий автоматическую разблокировку шифрованного раздела. В мастере начальной настройки и в конфигураторе пользователю предлагается установить пароль для расшифровки.
Настройки по умолчанию хранятся в составе системного образа в каталоге /usr/share/factory/etc. Во время первой загрузки в каталоге /etc создаются символические ссылки на все файлы в /usr/share/factory/etc, за исключением файлов passwd, group, shadow, fstab, machine-id и hostname. При необходимости изменения настроек в процессе работы, символическая ссылка заменяется на копию файла.
Обновления устанавливаются через замену всего системного образа. На накопителе создаётся два идентичных корневых раздела - активный и пассивный. Новое обновление устанавливается в пассивный раздел, никак не влияя на работу активного. После верификации корректности установленного обновления и успешной перезагрузки разделы меняются местами - раздел с обновлением становится активным, а прошлый активный раздел переводится в пассивный режим и ожидает установки следующего обновления. Если после обновления возникли проблемы с загрузкой, осуществляется автоматический откат на прошлый вариант системы.
Подобный подход значительно упрощает отладку и диагностику проблем, так как разработчики могут точно воспроизвести состояние, при котором возник сбой, без необходимости воспроизводить состав системы пользователя на уровне отдельных пакетов и учитывать имеющиеся комбинации версий пакетов. Недостатком являются более высокие требования к аппаратному обеспечению, что не позволит использовать Duranium на всех устройствах, поддерживаемых в postmarketOS.
Начинка системного образа Duranium формируется из единой с postmarketOS пакетной базы, основанной на Alpine Linux, стандартной Си-библиотеке Musl и наборе утилит BusyBox. Релизы postmarketOS и Duranium получаются почти идентичны по составу, но отличаются разными методами поставки системы. Для формирования, установки и обновления системных образов задействованы компоненты systemd-sysupdate, systemd-repart и systemd-verity-setup.
Дополнительные приложения устанавливаются в формате Flatpak или с использованием пакетного менеджера Coldbrew. Coldbrew позволяет установить пакеты из репозиториев Alpine Linux в домашний каталог пользователя. При запуске подобные пакеты изолируются при помощи инструментария bubblewrap.

Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65012

Жизнь за Нер'зула!

Ответить