Дистрибутив Chimera Linux, що поєднує ядро ​​Linux з оточенням FreeBSD

Даніель Колеса (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 застосовується стандартна Сі-бібліотека musl.

Для встановлення додаткових програм пропонуються як бінарні пакети, так і власна система збирання з вихідних текстів – cports, написана на Python. Складальне оточення запускається в окремому непривілейованому контейнері, що створюється за допомогою інструментарію bubblewrap. Для управління бінарними пакетами задіяно пакетного менеджера APK (Alpine Package Keeper, apk-tools) з Alpine Linux (спочатку планувалося використовувати pkg з FreeBSD, але виникли великі проблеми з його адаптацією).

Проект поки що знаходиться на початковій стадії розвитку - кілька днів тому вдалося забезпечити завантаження з можливістю входу користувача в консольному режимі. Надається інструментарій для бутстрепінгу (bootstrap), що дозволяє перезбирати дистрибутив із власного оточення або з оточення на базі будь-якого іншого дистрибутива Linux. Процес складання включає три стадії: складання компонентів для формування контейнера зі складальним оточенням, власне перескладання за допомогою підготовленого контейнера і ще одне власне перескладання але вже на основі оточення, створеного на другій стадії (дублювання необхідно для виключення впливу вихідної хост-системи на складальний процес) .

Джерело: opennet.ru

Додати коментар або відгук