Daniel Kolesa de la compania Igalia, participant la dezvoltarea proiectelor Void Linux, WebKit și Enlightenment, dezvoltă o nouă distribuție Chimera Linux. Proiectul utilizează kernelul Linux, însă în loc de instrumentația GNU, formează un mediu utilizator bazat pe structura sistemului de bază FreeBSD, iar pentru construire folosește LLVM. Distribuția este dezvoltată inițial ca fiind multiplatformă și suportă arhitecturi x86_64, ppc64le, aarch64, riscv64 și ppc64.
Ca obiectiv al proiectului este menționat dorința de a oferi o distribuție Linux cu o instrumentație alternativă și de a ține cont de experiența acumulată în dezvoltarea Void Linux. În opinia autorului proiectului, componentele utilizator ale FreeBSD sunt mai puțin complexe și sunt mai potrivite pentru sisteme ușoare și compacte. De asemenea, influența a fost exercitată de livrarea sub licența permisivă BSD. Contribuțiile proprii ale Chimera Linux sunt de asemenea repartizate sub licența BSD.
Pe lângă mediul utilizator FreeBSD, distribuția utilizează și pachete GNU Make, util-linux, udev și pam. Sistemul de inițializare este construit pe baza managerului de sistem portabil dinit, disponibil pentru sistemele Linux și BSD. În loc de glibc, este utilizată biblioteca standard C musl.
Pentru instalarea programelor suplimentare sunt oferite atât pachete binare, cât și propriul sistem de construire din surse — cports, scris în Python. Mediul de construcție este lansat într-un container neprivilegiat separat, creat cu ajutorul instrumentului bubblewrap. Pentru gestionarea pachetelor binare este utilizat managerul de pachete APK (Alpine Package Keeper, apk-tools) din Alpine Linux (inițial era planificat să se folosească pkg din FreeBSD, dar au apărut mari probleme cu adaptarea acestuia).
Proiectul se află încă în stadiul incipient de dezvoltare – cu câteva zile în urmă, am reușit să asigurăm încărcarea cu posibilitatea de conectare a utilizatorului în modul consolei. Se oferă un instrument pentru bootstrap, care permite recompilarea distribuției din propriul mediu sau dintr-un mediu bazat pe orice altă distribuție Linux. Procesul de construire include trei etape: construirea componentelor pentru formarea containerului cu mediu de construcție, recompilarea propriu-zisă cu ajutorul containerului pregătit și o altă recompilare, dar deja pe baza mediu creat în a doua etapă (duplicarea este necesară pentru a exclude influența sistemului gazdă inițial asupra procesului de construire).
Sursa: opennet.ro
