Projekt zur Ausführung von FreeBSD-Programmen in Linux. Quartalsbericht FreeBSD

Die Entwickler von FreeBSD haben den Bericht über die Entwicklung für das vierte Quartal 2024 veröffentlicht, in dem das Projekt bsd-user-4-linux erwähnt wird, das Werkzeuge für die Ausführung von in FreeBSD kompilierten Anwendungen in Linux entwickelt. Das Ziel des Projekts ist es, die Möglichkeit einer eigenen Erstellung unter Verwendung der FreeBSD-Tools in Linux zu erreichen sowie die Möglichkeit, Pakete für FreeBSD in Linux unter Verwendung des nativen Build-Tools von FreeBSD zu erstellen.

Für die Ausführung von FreeBSD-Binärdateien wird ein Fork des Emulators QEMU verwendet, der im Modus der Benutzer-Modus-Emulation läuft, der für die Ausführung von Prozessen, die für andere CPU und Betriebssysteme kompiliert sind, vorgesehen ist. In diesem Modus führt QEMU die Übersetzung von Systemaufrufen und die Verarbeitung von Signalen durch. Für die Ausführung von Anwendungen ist die Bereitstellung von Bibliotheken und Einstellungen aus dem Basissystem FreeBSD im lokalen Verzeichnis erforderlich. Das Projekt kann als BSDlator betrachtet werden – das Gegenstück zu Linuxulator.

In der aktuellen Entwicklungsphase funktioniert die Ausführung der grundlegenden Systemwerkzeuge (sh, bash, find, grep, git, clang usw.), dynamisches Linking und Shared Libraries werden unterstützt, Netzwerffunktionen stehen zur Verfügung. Zum Beispiel kann FreeBSD bereits mit dem Befehl „make -j80 buildworld“ aus Linux neu kompiliert werden. Zu den fehlenden Funktionen zählt die Unfähigkeit, den Debugger GDB zu starten, die Unzugänglichkeit von IPC, die Funktionen kevent/kqueue und einige sysctl (zum Beispiel name2oid).

Zusätzlich beschäftigt sich das Projekt mit der Vorbereitung von Container-Images mit einer Arbeitsumgebung für FreeBSD für verschiedene Architekturen (linux/386, linux/amd64, linux/arm/v5 und linux/arm64/v8) und der Bereitstellung von GitHub Actions zur Erstellung solcher Images.

Aus weiteren Ereignissen aus dem Quartalsbericht von FreeBSD können folgende erwähnt werden:

  • Das Tool mdo zum Ausführen von Befehlen unter einem anderen Benutzer, ähnlich dem Tool su, verwendet jedoch anstelle von setuid das Kernel-Modul mac_do und den Systemaufruf setcred.
  • Entwicklung des AMD IOMMU-Treibers für FreeBSD.
  • Projekt zur Verbesserung der FreeBSD-Leistung auf Laptops.
  • Projekt zur Modernisierung der Infrastruktur.
  • Arbeit zur Unterstützung der Energiesparmodi S0ix und s2idle (Suspend-to-Idle).
  • Verbesserung der OpenStack-Plattform unter FreeBSD.
  • Verbesserung des Sound-Stacks von FreeBSD.
  • Verbesserung der OpenJDK-Funktionalität unter FreeBSD.
  • Modernisierung des Paketmanagers pkg für das Projekt PkgBase (Gestaltung der Komponenten des Basissystems in einem Format, das für die Verwaltung und Aktualisierung mit dem Paketmanager pkg geeignet ist).
  • Wiederaufnahme der Arbeit am Treiber umb für MBIM USB 4G/5G Modems.
  • Portierung des iwx-Treibers aus OpenBSD für Intel-Wi-Fi-Chips.
  • Fortsetzung der Arbeit an der LinuxKPI-Schicht zur Ausführung von Linux-Treibern für drahtlose Chips.
  • Die Anzahl der Ports wurde von 36504 auf 36332 reduziert. 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, Tor Browser 14.0.3 aktualisiert.
  • Es wurde ein Sicherheits-Audit des Codes der Subsysteme bhyve und Capsicum durchgeführt.
  • Zusammen mit der Firma Framework wird an der Unterstützung von Framework-Laptops unter FreeBSD gearbeitet (bereits als unterstützt ist das Framework Laptop 13 auf Basis von AMD Ryzen 7040 angegeben).
  • Es wird an der Erweiterung des Installateurs um Wiederherstellungs- und Systemaktualisierungsmodi sowie die Möglichkeit der Installation von Paketen in Live-Umgebungen gearbeitet.
  • Die Portierung von FreeBSD auf das Smartphone Pinephone Pro wird fortgesetzt.
  • Die Werkzeuge AppJail, Director und LittleJet werden weiterentwickelt, um die Arbeit mit OCI-kompatiblen Containern unter FreeBSD mittels des Isolationsmechanismus des FreeBSD-Jail zu organisieren.
  • Das Werkzeug Pot zur Verwaltung von Containern auf Basis von Jail-Umgebungen, ZFS, pf und rctl wird weiterentwickelt und unterstützt die Integration mit der Container-Orchestrierungsplattform nomad. Ein Container-Image-Katalog namens Potluck wird als Äquivalent zu Dockerhub für FreeBSD angeboten.
  • Es wird eine grafische Benutzeroberfläche zur Verwaltung des Virtualisierungssystems auf Basis des Hypervisors Bhyve entwickelt. Dabei wird Freepascal/Lazarus verwendet.

Quelle: opennet.ru

60GB SSD 8Gb DDR4