Bericht über die Entwicklung von FreeBSD im zweiten Quartal 2025

Der Bericht über die Entwicklung des FreeBSD-Projekts für das zweite Quartal 2025 wurde veröffentlicht. Folgende Änderungen sind erwähnenswert:

  • Das FreeBSD-Core-Team arbeitet an Richtlinien zur Nutzung von KI und großen Sprachmodellen in der Entwicklung. Als mögliche Anwendungsbereiche für KI in FreeBSD werden die Übersetzung von Dokumentationen, das Zusammenfassen großer/unverständlicher Dokumente, das Verfolgen von Fehlern und die Analyse von Code genannt. Die Generierung von Code durch KI ist derzeit nicht geplant, hauptsächlich aufgrund möglicher Lizenzprobleme.
  • Der Installer unterstützt jetzt das pkgbase-System, das die Installation von Komponenten des Basissystems in einem Format ermöglicht, das mit dem Paketmanager pkg verwaltet und aktualisiert werden kann. pkgbase-Pakete können sowohl auf dem Installationsmedium für Offline-Installationen bereitgestellt als auch aus dem Repository pkg.freebsd.org heruntergeladen werden.
  • Das Projekt bsd-user-4-linux entwickelt sich weiter und ermöglicht das Ausführen von Anwendungen, die für FreeBSD kompiliert wurden, in Linux-Systemen. Ziel des Projekts ist es, die Möglichkeit zu schaffen, Pakete für FreeBSD in Linux zu bauen, wobei die native Build-Toolchain von FreeBSD verwendet wird. Zum Ausführen von FreeBSD-Binärdateien in Linux wird ein Fork des emulators QEMU verwendet, der im Modus der Benutzeranwendungs-Emulation arbeitet und zum Start von Prozessen geeignet ist, die für andere CPUs und Betriebssysteme kompiliert wurden (QEMU übersetzt Systemaufrufe und verarbeitet Signale). In der aktuellen Entwicklungsphase ist es bereits möglich, FreeBSD mit dem Befehl „make -j80 buildworld“ unter Linux neu zu bauen. Das Starten grundlegender Systemwerkzeuge wie sh, bash, find, grep, git und clang funktioniert bereits. Zu den jüngsten Änderungen gehört der Wechsel zum QEMU 9.2-Codebase und die Implementierung der Unterstützung für den kqueue()-Mechanismus in Linux mittels libkqueue.
  • Für FreeBSD wird die Virtualisierungsplattform Sylve entwickelt, die über eine Web-Oberfläche das Management des Starts ermöglicht. virtuellen Maschinen auf der Basis des Hypervisors Bhyve und Containern in Jail-Umgebungen. Das Projekt zielt darauf ab, Funktionen bereitzustellen, die mit der Linux-Distribution Proxmox VE vergleichbar sind, jedoch auf FreeBSD, Bhyve und ZFS basieren. Zu den Änderungen im zweiten Quartal gehören die Hinzufügung von Grafiken zur Visualisierung der CPU-Auslastung, des RAM-Verbrauchs und der Netzwerkaktivität, ein Interface zur Verwaltung von Netzwerkschnittstellen sowie Funktionen für die Arbeit mit Dateisystemen, Partitionen, Pools und ZFS-Snapshots, die Unterstützung des Hochladens von Abbilden virtueller Maschinen über eine Webschnittstelle, sowie die Möglichkeit, virtuelle Maschinen für Bhyve mit Unterstützung für VNC-Konsole, PCI-Geräte-Passthrough und Binding an ausgewählte CPU-Kerne zu erstellen und zu löschen.
  • Der libvirt-Port für den Hypervisor bhyve wurde verbessert. Ein Testprojekt für den bhyve-Treiber von libvirt in einem Continuous Integration-System mit FreeBSD wurde vorgestellt. Die Kompatibilität des bhyve-Treibers wurde erhöht. Unterstützung für virtio-rnd-Geräte, NVRAM-Konfiguration und erweiterte Statistiken wurde hinzugefügt. Unterstützung für Netzwerkzugang über NAT auf der Basis des Paketfilters pf wurde implementiert.
  • Die Verarbeitung von tlsbase auf amd64-Systemen wurde verbessert, was sich positiv auf die Funktionalität von Anwendungen ausgewirkt hat, die TLS (Thread-Local Storage) manuell verwalten, wie z.B. Wine.
  • Im Runtime-Linker (rtld) wurde die Option „-z initfirst“ implementiert, die zusätzliche Möglichkeiten zur Verwaltung der Initialisierungsreihenfolge in dynamisch verlinkten Anwendungen bietet.
  • Die Unterstützung für die Introspektion von kqueue wurde hinzugefügt, und die Analysefähigkeiten zur Nutzung von Ereignisverarbeitungsmechanismen im Kern wurden erweitert. In der Procstat-Utility wurde ein Bericht über den Zustand von kqueue implementiert.
  • Im Kern wurde das FLAG EXTERROR eingeführt, das über erweiterte Fehlermeldungen informiert. Mit EXTERROR können Anwendungen zusätzliche Diagnoseinformationen erhalten, die über den Fehlercode hinausgehen.
  • In der Codebasis von FreeBSD 15 wurde die Erstellung von Installationsabbildern und das Bauen von Binärpaketen für 32-Bit-Architekturen i386 und powerpc eingestellt. Unter den 32-Bit-Plattformen bleibt in der FreeBSD 15-Branch nur die armv7-Plattform. Der COMPAT_FREEBSD32-Modus, der das Ausführen von 32-Bit-Executablen in 64-Bit-Umgebungen ermöglicht, bleibt erhalten, jedoch wird die Unterstützung für 32-Bit-Bauten in den Ports eingestellt.
  • In der FreeBSD 15-Branch wurde das Verhalten der Systemaufrufe setgroups, getgroups und initgroups bei der Verarbeitung von Benutzergruppen an andere Plattformen angenähert (die Implementierungsunterschiede in FreeBSD lagen darin, dass die effektive Gruppen-ID des Prozesses im Null-Element des Arrays mit der Liste der Gruppen gespeichert wurde).
  • Es wird daran gearbeitet, die Kerberos-Implementierung in der Hauptversion von FreeBSD von Heimdal Kerberos auf MIT Kerberos umzustellen. MIT Kerberos ist bereits in der FreeBSD 15-CURRENT-Branch integriert, wird jedoch derzeit nur über die Option WITH_MITKRB5 aktiviert.
  • Die ersten Releases der Anwendung SysctlTUI wurden veröffentlicht, die eine textbasierte Benutzeroberfläche zur Navigation im Baum der sysctl-Parameter, zum Anzeigen zugehöriger Metadaten und zum Ändern von Einstellungen bereitstellt.
    Bericht über die Entwicklung von FreeBSD im zweiten Quartal 2025
  • Es wird an einem neuen Partitionierungsmanager Geomman (GEOM Manager) gearbeitet, der auf sade basiert und zusätzliche Funktionen wie das Verschieben, Kopieren und Einfügen von Festplattenpartitionen bietet. Neben UFS unterstützt Geomman auch ext2, ext3, ext4, exFAT und NTFS, und die Unterstützung für ZFS ist ebenfalls geplant. Unter anderem können die bestehenden Partitionen mit ext4-Dateisystem größer oder kleiner gemacht und neue exFAT-Partitionen erstellt werden.
  • Die Arbeiten zur Verbesserung des Sound-Stacks von FreeBSD wurden fortgesetzt. Der Soundtreiber wurde bereinigt, das Tool sndctl hinzugefügt, die Unterstützung für AFMT_FLOAT implementiert und die Funktionalität für Soundgeräte auf Laptops erheblich verbessert. Zudem hat das Refactoring des MIDI-Subsystems begonnen.
  • Das Portieren der DRM-Treiber (i915 und amdgpu) aus dem Linux-Kernel 6.9 wurde abgeschlossen. Die Veränderungen werden für den Branch FreeBSD 15-CURRENT entwickelt, sollen jedoch voraussichtlich in den Branch 14-STABLE zurückportiert werden.
  • Es wird an der Hinzufügung von Energiesparmodi S0ix und s2idle (Suspend-To-Idle) gearbeitet, die den Stromverbrauch bei der Nutzung von FreeBSD auf modernen Laptops mit Intel- und AMD-Prozessoren senken, von denen einige den Schlafmodus S3 nicht unterstützen. Im USB4-Treiber wurde die Möglichkeit zur Umschaltung in den Energiesparmodus C3 hinzugefügt.
  • Für den FreeBSD 15 Branch wird die Unterstützung für benannte Dateiattribute (erweiterte Attribute im Solaris-Stil) entwickelt, die als alternativer Mechanismus zur Verwaltung erweiterter Attribute gedacht sind, die für ZFS und NFSv4 verfügbar sind. Die Unterschiede zu den traditionellen Methoden in FreeBSD und Linux zur Arbeit mit erweiterten Attributen liegen in der Darstellung der Attribute in einem Systemverzeichnis, das im Hauptnamensraum des Dateisystems nicht sichtbar ist und mit der Datei verknüpft ist. Die Arbeit mit Attributen erfolgt wie bei normalen Dateien; zum Beispiel kann die Funktion readdir() verwendet werden, um eine Liste der Attribute abzurufen.
  • Es wurden Patches vorbereitet, die die Option zum Mounten "packrat" implementieren, die aggressives Caching von Daten in einem lokalen, nichtflüchtigen Speicher auf der Client-Seite für NFSv4.1/4.2 ermöglichen.
  • Basierend auf LinuxKPI, einer Schicht zur Ausführung von Linux-Treibern unter FreeBSD, entwickelt sich der aktualisierte net80211-Stack mit Unterstützung für die Standards Wi-Fi 5 (802.11ac) und Wi-Fi 6 (802.11ax). Die iwlwififw-Firmware für den Intel iwlwifi-Treiber wurde aus dem Basissystem entfernt zugunsten der Installation aus den Ports und der Verwendung des Tools fwget. In linuxkpi wurde die Unterstützung für wlan_tkip implementiert, die die Verwendung der kryptografischen Protokolle TKIP (Temporal Key Integrity Protocol) und Michael (Message Integrity Code) ermöglicht.
  • Die Unterstützung einer Debug-Schnittstelle, bereitgestellt in XHCI USB-Controllern, wurde implementiert. Diese ermöglicht die Verwendung eines speziellen USB 3-Kabels zur Steuerung des Debuggings des FreeBSD-Kernels. Eine solche Schnittstelle kann zur Fehlersuche bei Problemen mit Grafiktreibern eingesetzt werden, die zu Ausgabestörungen führen.
  • Es wird an der Portierung der Originalimplementierung von HFS- und HFS+-Dateisystemen für den FreeBSD-Kernel gearbeitet, deren Treiber von Apple veröffentlicht wurde.
  • Ein FreeBSD-Port für das Smartphone Pinephone Pro wurde vorbereitet, der ein Firmware-Paket mit Unterstützung für die Steuerung über den Touchscreen und einer einfachen Desktop-Umgebung umfasst. Leider hat das Projekt Pine64 vor einigen Tagen die Produktion eingestellt und den Verkauf des PinePhone Pro eingestellt.
  • Die Anzahl der Ports ist von 36.332 auf 36.605 gestiegen. Zu den Aktualisierungen in den Ports gehören: GCC 15, OpenJDK 24.0.1, GNOME 47, KDE Plasma 6.4.1, KDE Framework 6.15.0, Sway 1.11, Qt 6.9.1, Ruby 3.4.4, Rust 1.87.0, SDL 3.2.16, Xorg-Server 21.1.18. Standardmäßig sind die Versionen Go 1.24, Perl 5.40, Ruby 3.3 und PostgreSQL 17 aktiv. Die Umgebung für Linuxulator wurde auf Rocky Linux 9 aktualisiert.
  • Es wurde eine optionale Unterstützung für den Bau von Ports mit Compiler-Flags hinzugefügt, die zusätzliche Sicherheitsverstärkungsmodi enthalten. In make.conf wurden folgende Einstellungen implementiert:
    • WITH_FORTIFY zum Schutz vor Pufferüberläufen durch zusätzliche Prüfungen in Funktionen wie memcpy, strcpy und sprintf;
    • WITH_STACK_AUTOINIT für die automatische Initialisierung lokaler Variablen;
    • WITH_ZEROREGS zum Schutz vor ROP-Exploits (Return-Oriented Programming) und Informationslecks über die CPU-Register.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster