Dystrybucja Chimera Linux, która łączy jądro Linuksa ze środowiskiem FreeBSD

Daniel Kolesa z Igalii, który jest zaangażowany w rozwój projektów Void Linux, WebKit i Enlightenment, rozwija nową dystrybucję Chimera Linux. Projekt korzysta z jądra Linuksa, ale zamiast zestawu narzędzi GNU tworzy środowisko użytkownika w oparciu o upychanie systemu bazowego FreeBSD i używa LLVM do asemblera. Dystrybucja jest początkowo rozwijana jako wieloplatformowa i obsługuje architektury x86_64, ppc64le, aarch64, riscv64 i ppc64.

Celem projektu jest chęć dostarczenia dystrybucji Linuksa z alternatywnymi narzędziami oraz uwzględnienie doświadczeń z rozwijania Void Linux przy tworzeniu nowej dystrybucji. Według autora projektu niestandardowe komponenty FreeBSD są mniej skomplikowane i bardziej odpowiednie dla lekkich i kompaktowych systemów. Wpływ miało również dostarczanie na liberalnej licencji BSD. Własne opracowania Chimera Linux są również dystrybuowane na licencji BSD.

Oprócz środowiska użytkownika FreeBSD, dystrybucja wykorzystuje również pakiety GNU Make, util-linux, udev i pam. System init jest zbudowany wokół przenośnego menedżera systemu dinit, dostępnego dla systemów Linux i BSD. Standardowa biblioteka C musl jest używana zamiast glibc.

Aby zainstalować dodatkowe programy, oferowane są zarówno pakiety binarne, jak i własny system kompilacji ze źródła - cports, napisany w Pythonie. Środowisko kompilacji działa w oddzielnym nieuprzywilejowanym kontenerze utworzonym za pomocą zestawu narzędzi bubblewrap. Menedżer pakietów APK (Alpine Package Keeper, apk-tools) z Alpine Linux służy do zarządzania pakietami binarnymi (pierwotnie planowano użyć pkg z FreeBSD, ale były duże problemy z jego adaptacją).

Projekt jest jeszcze w początkowej fazie rozwoju - kilka dni temu możliwe było udostępnienie ładowania z możliwością logowania się do użytkownika w trybie konsoli. Dostarczany jest zestaw narzędzi ładowania początkowego, który umożliwia odbudowanie dystrybucji z jej własnego środowiska lub ze środowiska opartego na dowolnej innej dystrybucji Linuksa. Proces budowania obejmuje trzy etapy: montaż komponentów w kontener ze środowiskiem budowania, przebudowę własną z wykorzystaniem przygotowanego kontenera oraz kolejną przebudowę własną na podstawie środowiska stworzonego w etapie drugim (konieczne powielenie, aby wykluczyć wpływ oryginału system hosta w procesie kompilacji).

Źródło: opennet.ru

Dodaj komentarz