Представлен первый публичный выпуск (0.2) дистрибутива для встраиваемых систем Oryx Linux, развиваемого компанией Togán Labs на основе сборочного инструментария и метаданных пакетов от проектов OpenEmbedded и Yocto. Дистрибутив примечателен предоставлением легковесного движка runc для запуска изолированных контейнеров, позволяющего использовать методы контейнерной виртуализации на встраиваемых системах с ограниченными ресурсами. Готовые сборки подготовлены для Raspberry Pi, Raspberry Pi 3, Arduino Yun и эмулятора QEMU. Наработки проекта распространяются под лицензией MIT.
Для создания образов контейнеров предлагается использовать сборочный инструментарий OpenEmbedded, что даёт возможность существующим пользователям OpenEmbedded обеспечить изоляцию приложений в своих продуктах для встраиваемых систем при помощи привычных средств, без необходимости изучения новой сборочной системы и перестройки своих сборочных процессов. Предпочтение отдаётся OpenEmbedded так как данный проект предоставляет средства для учета лицензионной совместимости собираемых компонентов, расширяемый SDK и готовое окружение кросс-компиляции, в то время как традиционные решения для построения образов контейнеров ориентированы на облачные окружение и не учитывают специфику распространения прошивок для встраиваемых систем.
Из достоинств применения контейнерной изоляции в прошивках для встраиваемых систем отмечается: Возможность изоляции приложений, требующих расширенного доступа к специализированному оборудованию; Возможность запуска приложений, привязанных к устаревшим версиям библиотек, не мешая обновлению и поддержанию в актуальном виде основной системы; Предоставление возможности независимого обновления и перезапуска приложений и привязанных к ним компонентов, без необходимости перезагрузки всего устройства.
На стороне хост-системы для управления контейнерами поставляется утилита oryxcmd, которая позволяет настраивать источники загрузки образов контейнеров, загружать и устанавливать образы, просматривать списки запущенных, установленных или доступных для установки образов, управлять запуском контейнеров при помощи движка runc. Для оборудования, на котором недостаточно ресурсов для запуска полноценной системы контейнерной изоляции предлагается урезанное решение Oryx Lite, позволяющее запускать ограниченный набор контейнеров, сфокусированных на запуск определённых приложений и не включающих ничего лишнего.
В настоящий момент доступны два примера контейнеров Oryx Lite: минимальный образ, включающий только компоненты для запуска гостевой системы, и образ с полным инструментарием для работы в командной строке. Также поставляется набор метаданных OpenEmbedded для сборки контейнеров, портирования на новые аппаратные платформы и создания кастомизированных редакций Oryx Linux. В контейнерах применяется собственная максимально урезанная система инициализации oryx-guest-init.
|