Daniel Kolesa fra Igalia, som deltager i udviklingen af projekter som Void Linux, WebKit og Enlightenment, arbejder på en ny distribution kaldet Chimera Linux. Projektet bruger Linux-kernen, men i stedet for GNU-værktøjskassen skaber det et brugergrænseflade baseret på den grundlæggende FreeBSD-systemstruktur og bruger LLVM til opbygning. Distributionen udvikles oprindeligt som tværplatforms og understøtter arkitekturerne x86_64, ppc64le, aarch64, riscv64 og ppc64.
Projektets mål er at tilbyde en Linux-distribution med et alternativt værktøjssæt og at inddrage erfaringerne fra udviklingen af Void Linux i oprettelsen af den nye distribution. Ifølge projektets grundlægger er brugerkomponenterne fra FreeBSD mindre komplicerede og bedre egnet til letvægts- og kompakte systemer. Desuden har det haft indflydelse fra provisionen under BSD-licensen. Chimera Linux's egne bidrag distribueres også under BSD-licensen.
Ud over brugerens FreeBSD-miljø anvender distributionen også pakker fra GNU Make, util-linux, udev og pam. Init-systemet er bygget på en portabel systemmanager kaldet dinit, der er tilgængelig for både Linux- og BSD-systemer. I stedet for glibc anvendes musl, som er den standard C-bibliotek.
For installation af ekstra programmer tilbydes både binære pakker og et eget build-system baseret på kildekode — cports, som er skrevet i Python. Build-miljøet kører i en separat, ikke-privilegeret container, der oprettes ved hjælp af værktøjet bubblewrap. For at håndtere binære pakker anvendes pakkehåndteringsværktøjet APK (Alpine Package Keeper, apk-tools) fra Alpine Linux (oprindeligt var det planlagt at bruge pkg fra FreeBSD, men der opstod store problemer med tilpasningen).
Projektet er stadig i sin tidlige udviklingsfase – for nogle dage siden lykkedes det at sikre indlæsning med mulighed for brugerlogin i konsoltilstand. Der stilles værktøjer til rådighed til bootstrapping, som gør det muligt at opbygge distributionen fra sit eget miljø eller fra et miljø baseret på enhver anden Linux-distribution. Byggeprocessen omfatter tre faser: opbygning af komponenter til at skabe en container med bygge miljøet, den egentlige genopbygning ved hjælp af den forberedte container, og endnu en genopbygning, men baseret på det miljø, der blev skabt i den anden fase (duplikationen er nødvendig for at undgå indflydelse fra det oprindelige host-system på byggeprocessen).
Kilde: opennet.ru
