Даниел Колеса (Daniel Kolesa) от компания Igalia, участващ в разработката на проекти Void Linux, WebKit и Enlightenment, развива нов дистрибутив Chimera Linux. Проектът използва ядро Linux, но вместо инструменти на GNU създава потребителска среда, базирана на основата на FreeBSD, а за сглобяване използва LLVM. Дистрибутивът първоначално се развива като кросплатформен и поддържа архитектури x86_64, ppc64le, aarch64, riscv64 и ppc64.
Целта на проекта е да предостави Linux-дистрибутив с алтернативни инструменти и да вземе предвид опита от разработката на Void Linux при създаването на новия дистрибутив. Според автора на проекта, потребителските компоненти на FreeBSD са по-малко сложни и по-подходящи за леко и компактно системи. Влияние оказва и разпространението под разрешителната лицензия BSD. Собствените разработки на Chimera Linux също се разпространяват под лицензия BSD.
Освен потребителската среда FreeBSD, в дистрибутива са включени пакети GNU Make, util-linux, udev и pam. Системата за инициализация е изградена на базата на преносим системен мениджър dinit, наличен за Linux и BSD системи. Вместо glibc се използва стандартната C библиотека musl.
За инсталирането на допълнителни програми се предлагат както бинарни пакети, така и собствена система за сглобяване от изходен код — cports, написана на Python. Сглобяването стартира в отделен непривилегирован контейнер, създаден с помощта на инструмента bubblewrap. За управление на бинарните пакети се използва пакетен мениджър APK (Alpine Package Keeper, apk-tools) от Alpine Linux (първоначално планувано беше да се използва pkg от FreeBSD, но възникнаха големи проблеми с неговата адаптация).
Проектът все още е в начален етап на развитие — преди няколко дни успяхме да осигурим зареждане с възможност за вход на потребителя в конзолен режим. Предоставя се инструментариум за бутстрэппинг (bootstrap), позволяващ реконструкция на дистрибутива от собствена среда или от среда, основана на всеки друг дистрибутив на Linux. Процесът на сглобяване включва три етапа: сглобяване на компоненти за формиране на контейнер със сглобяваща среда, собствена реконструкция с помощта на подготвения контейнер и още една собствена реконструкция, но вече на база на среда, създадена в втория етап (дублирането е необходимо за изключване на влиянието на изходната хост-система върху сглобителния процес).
Източник: opennet.ru
