Компанията Igalia представи Moonforge, дистрибутив за вградени системи

Компания Igalia, известна със своето участие в разработването на свободни проекти като GNOME, GTK, WebKitGTK, Epiphany, Maemo, GStreamer, Wine, Mesa и freedesktop.org, представи проекта Moonforge, който опростява създаването и поддръжката на собствени дистрибуции на Linux за различни устройства и вградени системи. Направлението на дистрибуцията се оформя на база на инструментариума за събиране и метаданни от проектите OpenEmbedded и Yocto. Специфичните за проекта разработки се разпространяват под лиценза MIT.

Moonforge предоставя на разработчиците и системните интегратори рамка, набор от конфигурационни файлове и колекция от компоненти за формиране на атомарно обновяеми системни образи, основани на проверени и широко използвани в индустрията технологии като yocto, bitbake и kas. За създадените образи се поддържа опростен процес на инсталиране на обновления и се осигурява дълъг цикл на поддръжка. Основната цел на проекта е да предостави на разработчиците на вградени системи удобен инструментариум, който да им позволи да се съсредоточат върху развитието на специфичната функционалност за техния продукт и да не губят време за задачи, свързани с формирането и поддръжката на дистрибуцията.

Системният образ се композира от набор от готови модули Yocto. Всеки модул отговаря за определена функция или поддръжка на конкретна целева хардуерна платформа. Например, предлагат се модули за поддръжка на Docker, QEMU или Podman, управление на обновления чрез RAUC, формиране на графичен интерфейс на базата на композитен сървър Weston, стартиране на браузерния интерфейс на базата на Webkit за интернет-киоски и сборки за платки Raspberry Pi 4 и 5.

Поддържат се три канала за разпространение на версии: stable (стабилна LTS-ветка), next (ветка, в която се развива следващия LTS-релиз) и main (експериментална ветка, в която се извършва разработка). Всяка ветка е свързана със своя версия на набора компоненти Yocto. Стабилната ветка се обновява веднъж месечно и съответства на LTS-релизите на Yocto.

Обновления се доставят по OTA (Over-The-Air), използвайки инструменти Mender и се инсталират атомарно чрез изцяло замяна на цялата система. На устройството се създават два идентични коренови дяла — активен и пасивен. Новото обновление се инсталира в пасивния дял, без да влияе на работата на активния. След рестартиране дяловете се разменят — дялът с новото обновление става активен, а предишният активен дял преминава в пасивен режим и очаква следващо обновление. Ако след обновлението нещо не върви както трябва, се извършва връщане към предишната версия на системата.

За създаване на системни образи се използва инструментариумът BitBake, а за конфигурация и осигуряване на възпроизвеждаеми билдове — kas. Билдове, обновления, отчети за уязвимости и метаданни SBOM (Software Bill of Materials) се събират и публикуват автоматично с помощта на системи за непрекъсната интеграция и непрекъснато разгръщане (CI/CD). Инфраструктурата за билдове на база Moonforge може да бъде разположена както в локални сървъри, така и в публични или частни облачни среди.

За прозрачност и предсказуемост на процесите по създаване на производни продукти в дистрибуцията се прилага строга разделение между upstream и downstream компоненти, позволяваща на разработчиците, ако е необходимо, да добавят допълнителна функционалност върху основата. Конфигурацията се определя в декларативно представяне, използвайки формат YAML, и обхваща области като свързване на външни хранилища, активиране на Yocto модули, управление на зависимостите между компонентите на дистрибуцията, прилагане на допълнителни пачове и промяна на приложените по подразбиране системни настройки.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster