Die Entwickler von FreeBSD haben ihren Bericht über die Entwicklungen im vierten Quartal 2024 veröffentlicht, in dem das Projekt bsd-user-4-linux erwähnt wird. Dieses Projekt entwickelt Werkzeuge, um in Linux Anwendungen aus FreeBSD auszuführen. Das Ziel des Projekts ist es, die Möglichkeit einer eigenen Compilation zu erreichen, indem die FreeBSD-Tools in Linux verwendet werden, sowie Pakete für FreeBSD in Linux mit den nativen Build-Tools von FreeBSD zu erstellen.
Um die ausführbaren Dateien von FreeBSD auszuführen, wird ein Fork des QEMU-Emulators eingesetzt, der im User Mode Emulation Modus arbeitet und für die Ausführung von Prozessen, die für andere CPUs und Betriebssysteme kompiliert wurden, gedacht ist. In diesem Modus führt QEMU die Übersetzung von Systemaufrufen und die Verarbeitung von Signalen aus. Zur Ausführung von Anwendungen ist die Bereitstellung von Bibliotheken und Konfigurationen aus dem Basis-System von FreeBSD im lokalen Verzeichnis erforderlich. Das Projekt kann als BSDlator betrachtet werden - das Gegenteil des Linuxulators.
In der aktuellen Entwicklungsphase funktionieren die grundlegenden Systemwerkzeuge (sh, bash, find, grep, git, clang usw.), dynamisches Linking und Shared Libraries werden unterstützt, und Netzwerffunktionen sind verfügbar. Zum Beispiel kann FreeBSD bereits mit dem Befehl „make -j80 buildworld“ aus Linux neu kompiliert werden. Als fehlende Funktionalitäten wurden der Debugger GDB, die IPC-Funktionen, die kevent/kqueue-Funktionen und einige sysctl (zum Beispiel name2oid) hervorgehoben.
Zusätzlich arbeitet das Projekt an der Vorbereitung von Container-Images mit einer FreeBSD-Arbeitsumgebung für verschiedene Architekturen (linux/386, linux/amd64, linux/arm/v5 und linux/arm64/v8) und stellt GitHub Actions für die Erstellung solcher Images zur Verfügung.
Weitere Ereignisse im Quartalsbericht von FreeBSD sind:
- Das mdo-Tool, um Befehle unter einem anderen Benutzer auszuführen, ähnlich dem su-Tool, aber anstelle von setuid verwendet es das Kernel-Modul mac_do und den Systemaufruf setcred.
- Entwicklung des AMD IOMMU-Treibers für FreeBSD.
- Projekt zur Verbesserung der Funktionalität von FreeBSD auf Laptops.
- Projekt zur Modernisierung der Infrastruktur.
- Arbeiten zur Unterstützung der Energiesparmodi S0ix und s2idle (Suspend-To-Idle).
- Verbesserung der Funktionsfähigkeit der OpenStack-Plattform unter FreeBSD.
- Verbesserung des Audio-Stacks von FreeBSD.
- Verbesserung der Funktionalität von OpenJDK unter FreeBSD.
- Modernisierung des Paketmanagers pkg für das Projekt PkgBase (Anpassung der Komponenten des Basissystems in einem Format, das für die Verwaltung und Aktualisierung über den Paketmanager pkg geeignet ist).
- Die Wiederaufnahme der Arbeiten am Umb-Treiber für MBIM USB 4G/5G Modems.
- Portierung des iwx-Treibers aus OpenBSD für Intel Wi-Fi Chips.
- Fortsetzung der Arbeiten am LinuxKPI-Wrapper zur Ausführung von Linux-Treibern für drahtlose Chips.
- Die Zahl der Ports ist von 36504 auf 36332 gesunken. In den Ports wurden 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 und Tor Browser 14.0.3 aktualisiert.
- Eine Sicherheitsüberprüfung des Codes der Subsysteme bhyve und Capsicum wurde durchgeführt.
- Gemeinsam mit der Firma Framework wird an der Unterstützung von Framework-Laptops unter FreeBSD gearbeitet (der Framework Laptop 13 auf Basis von AMD Ryzen 7040 ist bereits angekündigt).
- Es wird an der Hinzufügung von Wiederherstellungs- und Aktualisierungsmodi zum Installer gearbeitet, sowie an der Möglichkeit, Pakete in Live-Umgebungen zu installieren.
- Die Portierung von FreeBSD auf das Smartphone Pinephone Pro wird fortgesetzt.
- Die Werkzeuge AppJail, Director und LittleJet zur Organisation von Arbeiten mit OCI-kompatiblen Containern unter FreeBSD, unter Verwendung des Isolationsmechanismus des FreeBSD jail, werden weiterentwickelt.
- Das Tool Pot zur Verwaltung von Containern auf der Basis von Jail-Umgebungen, ZFS, pf und rctl, das die Integration mit der Container-Orchestrierungsplattform nomad unterstützt. Außerdem wird ein Container-Image-Katalog mit dem Namen Potluck angeboten, der ähnlich wie Dockerhub für FreeBSD fungiert.
- Es wird an einer grafischen Benutzeroberfläche zur Verwaltung des Virtualisierungssystems auf Basis des Hypervisors Bhyve gearbeitet. Dabei wird FreePascal/Lazarus verwendet.
Quelle: opennet.ru
