Programiści FreeBSD opublikowali raport o rozwoju za czwarty kwartał 2024 roku, w którym wspomniano o projekcie bsd-user-4-linux, rozwijającym narzędzia do uruchamiania w Linux aplikacji skompilowanych dla FreeBSD. Celem projektu jest osiągnięcie możliwości samodzielnego budowania, wykorzystując narzędzia FreeBSD w Linux, a także możliwość kompilacji pakietów dla FreeBSD w Linux przy użyciu natywnego narzędzia do budowy FreeBSD.
Do uruchamiania plików wykonywalnych FreeBSD wykorzystywany jest fork emulatora QEMU, działający w trybie emulacji w trybie użytkownika, zaprojektowany do uruchamiania procesów skompilowanych dla innych CPU i systemów operacyjnych. W tym trybie QEMU wykonuje translację wywołań systemowych i obsługę sygnałów. Do uruchomienia aplikacji wymagane jest wdrożenie w lokalnym katalogu bibliotek i ustawień z podstawowego systemu FreeBSD. Projekt można traktować jako BSDlator — odwrotny odpowiednik Linuxulator.
Na obecnym etapie rozwoju działa uruchamianie podstawowych narzędzi systemowych (sh, bash, find, grep, git, clang itp.), wspierane jest dynamiczne wiązanie i biblioteki dzielone, dostępne są funkcje sieciowe. Na przykład, już teraz można przebudować FreeBSD poleceniem „make -j80 buildworld”, będąc w Linux. Z brakujących funkcjonalności odnotowano niemożność uruchomienia debuggera GDB, niedostępność IPC, funkcji kevent/kqueue oraz niektórych sysctl (np. name2oid).
Dodatkowo projekt zajmuje się przygotowaniem obrazów kontenerów z środowiskiem pracy FreeBSD dla różnych architektur (linux/386, linux/amd64, linux/arm/v5 i linux/arm64/v8) oraz udostępnianiem GitHub Actions do tworzenia podobnych obrazów.
Z innych wydarzeń z kwartalnego raportu FreeBSD można odnotować:
- Narzędzie mdo do uruchamiania poleceń pod innym użytkownikiem, podobne do narzędzia su, ale korzystające zamiast setuid z modułu jądra mac_do oraz wywołania systemowego setcred.
- Rozwój sterownika AMD IOMMU dla FreeBSD.
- Projekt mający na celu poprawę działania FreeBSD na laptopach.
- Projekt mający na celu modernizację infrastruktury.
- Prace nad wsparciem trybów niskiego zużycia energii S0ix i s2idle (Suspend-To-Idle).
- Poprawa działania platformy OpenStack w FreeBSD.
- Poprawa dźwiękowego stosu FreeBSD.
- Poprawa działania OpenJDK w FreeBSD.
- Modernizacja menedżera pakietów pkg dla projektu PkgBase (formatowanie komponentów systemu podstawowego w formacie odpowiednim do zarządzania i aktualizacji za pomocą menedżera pakietów pkg).
- Wznowienie pracy nad sterownikiem umb dla modemów MBIM USB 4G/5G.
- Portowanie sterownika iwx z OpenBSD dla chipów Wi-Fi Intel.
- Kontynuacja pracy nad warstwą LinuxKPI do uruchamiania sterowników Linuxa dla chipów bezprzewodowych.
- Liczba portów zmniejszyła się z 36504 do 36332. W portach zaktualizowano Xfce 4.20, LXQt 2.1.0, PHP 8.3, KDE Plasma 6.2.4, Qt 6.8.1, Python 3.9.21, Python 3.11.11, Ruby 3.3.6, Rust 1.83.0, SDL 3.1.6, Sway 1.10, Tor Browser 14.0.3.
- Przeprowadzono audyt bezpieczeństwa kodu podsystemów bhyve i Capsicum.
- Wspólnie z firmą Framework prace są prowadzone nad wsparciem laptopów Framework w FreeBSD (już zadeklarowano wsparcie dla Framework Laptop 13 z procesorem AMD Ryzen 7040).
- Prace nad dodaniem do instalatora trybów odzyskiwania i aktualizacji systemu oraz możliwości instalacji pakietów w środowiskach Live trwają.
- Kontynuowane jest portowanie FreeBSD na smartfon Pinephone Pro.
- Rozwijane są narzędzia AppJail, Director oraz LittleJet do organizacji pracy z kontenerami zgodnymi z OCI w FreeBSD, wykorzystujące mechanizm izolacji FreeBSD jail.
- Rozwija się narzędzie Pot do zarządzania kontenerami na bazie środowisk jail, ZFS, pf i rctl, wspierające integrację z platformą orkiestracji kontenerów nomad. Proponowany katalog obrazów kontenerów Potluck pełni rolę analogii do Dockerhub dla FreeBSD.
- Trwa rozwój interfejsu graficznego do zarządzania systemem wirtualizacji opartym na hipernadzorze Bhyve. Do opracowania wykorzystuje się Freepascal/Lazarus.
Źródło: opennet.ru
