Daniel Kolesa von der Firma Igalia, der an der Entwicklung von Projekten wie Void Linux, WebKit und Enlightenment beteiligt ist, entwickelt eine neue Distribution namens Chimera Linux. Das Projekt verwendet den Linux-Kernel, bildet jedoch anstelle von GNU-Tools die Benutzerumgebung auf der Grundlage der Kernkomponenten des FreeBSD-Systems und verwendet LLVM fĂŒr den Build-Prozess. Die Distribution wird ursprĂŒnglich als plattformĂŒbergreifend entwickelt und unterstĂŒtzt die Architekturen x86_64, ppc64le, aarch64, riscv64 und ppc64.
Das Ziel des Projekts ist es, eine Linux-Distribution mit alternativen Werkzeugen bereitzustellen und dabei die Erfahrungen aus der Entwicklung von Void Linux zu berĂŒcksichtigen. Nach Meinung des Projektleiters sind die Benutzerkomponenten von FreeBSD weniger kompliziert und besser fĂŒr leichte und kompakte Systeme geeignet. Zudem hatte die Bereitstellung unter der permissiven BSD-Lizenz einen Einfluss auf die Entscheidung. Auch eigene Entwicklungen von Chimera Linux werden unter der BSD-Lizenz veröffentlicht.
Neben der Benutzerumgebung von FreeBSD kommen in der Distribution auch Pakete wie GNU Make, util-linux, udev und pam zum Einsatz. Das Init-System basiert auf dem portablen Systemmanager dinit, der fĂŒr Linux- und BSD-Systeme verfĂŒgbar ist. Anstelle von glibc wird die Standard-C-Bibliothek musl verwendet.
FĂŒr die Installation zusĂ€tzlicher Programme werden sowohl BinĂ€rpakete als auch ein eigenes Build-System aus Quell-Texten â cports, das in Python geschrieben ist â angeboten. Die Build-Umgebung wird in einem separaten, nicht privilegierten Container gestartet, der mit dem Werkzeug bubblewrap erstellt wird. Zur Verwaltung von BinĂ€rpaketen kommt der Paketmanager APK (Alpine Package Keeper, apk-tools) aus Alpine Linux zum Einsatz (ursprĂŒnglich war geplant, pkg aus FreeBSD zu verwenden, doch gab es groĂe Probleme mit dessen Anpassung).
Das Projekt befindet sich derzeit in einer frĂŒhen Entwicklungsphase â vor einigen Tagen konnte die Benutzeranmeldung im Konsolenmodus eingerichtet werden. Es wird ein Toolset fĂŒr das Bootstrapping bereitgestellt, das es ermöglicht, das Distributionspaket aus der eigenen Umgebung oder aus einer Umgebung auf der Basis einer anderen Linux-Distribution neu zu erstellen. Der Build-Prozess umfasst drei Phasen: der Aufbau von Komponenten zur Erstellung eines Containers mit der Build-Umgebung, das eigentliche Neubauen mit dem vorbereiteten Container und eine weitere Neubauphase, die auf der in der zweiten Phase geschaffenen Umgebung basiert (die Duplizierung ist notwendig, um den Einfluss des ursprĂŒnglichen Host-Systems auf den Build-Prozess auszuschlieĂen).
Quelle: opennet.ru
