FreeBSD: Weiterentwicklung nimmt Fahrt auf
Der vierteljährliche Bericht rund um die Entwicklung des FreeBSD-Projektes zeigt, dass FreeBSD derzeit größere Schritte nachdem vorne macht denn gewohnt.
Von
- Michael Plura
Bei der Weiterentwicklung von FreeBSD sind in den vergangenen drei Monaten Fortschritte zu verzeichnen. Unter anderem wurde die Integration von ZSTD in OpenZFS abgeschlossen und die Unterstützung für USB4 und Thunderbolt3 ist fast fertig. Das geht aus dem Statusbericht für das vierte Quartal 2020 hervor, den das FreeBSD-Projekt veröffentlicht hat. Der gewohnt umfangreiche Bericht gliedert sich in mehrere Einzelberichte unter anderem zum FreeBSD-Team, zu grundsätzlichen Projektzielen, zu Kernel, Ports, Dokumentation und Third-Party-Projekten.
Darüber hinaus geht es im FreeBSD 2020 Q4 Status Report um Neuerungen wie den Umstieg von SVN auf Git sowie um Sicherheitsfeatures wie NFS über TLS und OpenBMS mit Auditing-Funktionen für FreeBSD und Mac OS X. Ein "Embedded Lab Project" soll die Portierung auf die vielen ARM-Plattformen vereinfachen, mit K8S-Bhyve eignet sich der native FreeBSD-Hypervisor Bhyve auch für Kubernetes-Cluster.
Abkehr von GPL-Software
Wie bei OpenBSD (aber weniger bei NetBSD) wird im Basissystem GPL-Software zunehmend durch neue und modernere BSD-Versionen ersetzt, die ebenfalls unter der weniger restriktiven BSD-Lizenz stehen. Dazu gehören neben der GNU/C-Compiler-Suite, die durch LLVM/Clang ersetzt wurde, auch GNUgrep oder Bibliotheken wie libgnuregex.
Der Linuxulator, wie der GNU/Linux-Binary-Compatibility-Layer umgangssprachlich genannt wird, läuft derweil laut dem Bericht immer besser. Viele Steam-Spiele für GNU/Linux funktionieren mit ihm auch unter FreeBSD.
ZSTD-Kompression in ZFS
Zstandard (ZSTD) wurde von Yann Collet bei Facebook entwickelt. Das Ziel war, vollkompatibel zu "Deflate", dabei aber vor allem beim Entpacken massiv schneller zu sein. Deflate ist der verlustfreie Algorithmus, den Phil Katz für das ZIP-Archivformat entwickelte. Gegenüber Deflate ist ZSTD auch multithreaded, läuft also auf mehreren Kernen gleichzeitig. Der Linux-Kernel kennt ZSTD seit 4.14 und nutzt es beispielsweise für Btrfs und SquashFS. Auch Distributionen wie Arch Linux haben ihre Pakete auf ZSTD umgestellt – das Ergebnis sind gegenüber xz etwa 0,8 Prozent größere Pakete, die sich aber um 1300 Prozent schneller auspacken lassen.
Bei FreeBSD wurde ZSTD in ZFS und in den Bootloader integriert, sodass das System auch von einem komprimierten ZFS-Pool gestartet werden kann. Das bringt Geschwindigkeit und spart Platz: Eine Standard-Installation von FreeBSD 13 belegt rund 1175 MByte auf dem Datenträger. Mit dem üblichen LZ4-Algorithmus von ZFS schrumpft die Größe auf 570 MByte, mit ZSTD und maximaler Kompression auf nur noch 374 MByte. FreeBSD nutzt ZSTD außerdem, um Kernel-Crash-Dumps zu komprimieren und um Log-Dateien zu packen. Künftig soll es außerdem auch für die Paketverwaltung (pkg) verwendet werden.
FreeBSD/arm64 unter VMware ESXi-ARM Fling
Ein Beispiel für Third-Party-Projekte ist FreeBSD für arm64 (Aarch64) unter dem neuen VMware vSphere ESXi-Hypervisor "Fling" für ARM-CPUs, der unter anderen auf ARM ServerReady-Hardware und sogar einem Raspberry Pi 4 mit 4 oder besser 8 GByte RAM läuft. Auch auf den neuen Apple M1-System läuft FreeBSD/arm64 unter QEMU.
Bislang gab es nur die Möglichkeit, dies über ein modifiziertes Image einer vorinstallierten FreeBSD/arm64-VM zum Laufen zu bekommen. Die nun elegantere Lösung geht über die neuen, auf der FreeBSD-Projektseite verfügbaren ISO-Images von FreeBSD/arm64, die ab 12.2-STABLE und 13-CURRENT einen notwendigen Treiber für CD-ROM-Support enthalten, über den die Installation komplettiert werden kann.
Zusätzlich wurde an den Treibern für die virtuelle Hardware gearbeitet, unter anderem für USB-Controller, für die virtuelle Netzwerkkarte (vmxnet) und den paravirtuellen SCSI-Controller (pvscsi). Die Treiber finden sich in FreeBSD/arm64 (Aarch64 GENERIC) und dürften es Entwicklern und Administratoren erleichtern, FreeBSD/arm64 auch unter anderen nativen Hypervisoren wie Bhyve (FreeBSD), VMM (OpenBSD), NVMM (NetBSD) oder eben QEMU zum Laufen zu bekommen.
Lesen Sie auch
(ovw)
Quelle: www.heise.de