Состоялся релиз инструментария для построения инсталляторов Calamares 3.2, не зависящего от конкретных дистрибутивов Linux. Разработчикам дистрибутивов предоставлено несколько десятков готовых модулей c реализацией различных возможностей, востребованных в инсталляторах. Код написан на языке С++, графический интерфейс основан на библиотеке Qt 5 (используется QML), для разработки модулей могут применяться языки C++ и Python. Calamares уже используется для организации установки дистрибутивов Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva и KDE neon. Проект развивается при участии сообществ KDE, Fedora, Kubuntu и Maui.
Calamares предоставляет такие возможности, как ручной и автоматический режимы разбиения дисковых разделов, гибкая система адаптации внешнего вида, модульная архитектура, большой выбор готовых модулей (от управления загрузчиками, до управления пользователями). Например, имеются модули для использования NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools и rsync. Установка может быть организована путём замены раздела - данные копируются на новый раздел, который делается активным вместо ранее используемого раздела, что удобно для тестирования новых установок, оставляя возможность отката на прошлую версию.
Для создания собственного установщика на базе Calamares достаточно выбрать готовые модули или написать собственные, определить логику установки дистрибутива и настроить внешний вид. Для упрощения и ускорения разработки модули и компоненты Calamares могут создаваться на языке Python (для интеграции с С++ используется Boost.Python). Все конфигурационные данные хранятся в формате YAML.
Основные новшества:
Добавлен модуль openrcdmcryptcfg для настройки конфигураций с системой инициализации OpenRC и шифрованной ФС, который может применяться в дистрибутивах не использующих systemd;
Добавлен модуль для рабочего стола KDE Plasma, позволяющий на этапе установки выбрать тему оформления и настроить внешний вид;
Добавлены модули ShellProcess и ContextualProcess, предназначенные для запуска последовательности shell-команд. ShellProcess может заменить другие модули, созданные на базе dummyprocess, предлагая унифицированный файл конфигурации settings.conf. ContextualProcess позволяет запускать наборы команд на основании определённых параметров конфигурации, например, типа прошивки. Возможно сопоставление значений параметров по маске;
В модуль bootloader добавлена настройка installEFIFallback, позволяющая управлять режимом установки в окружении UEFI;
Улучшено определение наиболее вероятной раскладки клавиатуры, на основании выбранного языка;
Названия языков в форме выбора языка на первой странице теперь отображаются с использованием национальных алфавитов;
Добавлена опция командной строки "-D" для выбора уровня отладочных логов. Переработан отладочный фреймворк;
Обеспечена поддержка повторяемых сборок;
Сессионный лог переименован в ~/.cache/calamares/session.log
Добавлена поддержка настройки менеджера обновлений через указание специфичного для системы URL;
Добавлена функция информирования пользователя о завершении установки;
Убрана жесткая привязка к /bin/bash;
Повышены требования к версии библиотеки KPMCore, для работы теперь требуется как минимум выпуск 3.3, в котором появилась поддержка разделов LVM.
Выпуск независимого от дистрибутивов инсталлятора Calamares 3.2
Также по теме: