FreeBSD 14 kann bis zu 1024 CPUs, bringt OpenZFS 2.2 und Firmware-Management

Seite 2: Unterstützung für ISA-Bus bleibt

Inhaltsverzeichnis

Eigentlich wollte man ISA-Treiber, die nicht PnP-fähig sind (beispielsweise alte Soundkarten, die über Steckbrücken konfiguriert werden) schon lange entfernt haben. Das scheint auch nötig zu sein, denn manche dieser Karten laufen seit einem Jahrzehnt nicht mehr mit den FreeBSD-Treibern. Andererseits werden ISA-Karten noch immer in manchen industriellen Anwendungen benutzt. Da wird man künftig auf OpenBSD oder vielleicht eher auf NetBSD umsteigen müssen – oder teure neue Hardware anschaffen. Nicht zu vergessen: Auch auf manchem modernen Mainboard ist die Real Time Clock (RTC, atrtc(4)) noch immer via ISA angebunden.

Auch sollten mehrere Treiber von Giant-Locks bereinigt werden, die auf Systemen mit mehreren CPU-Kernen dafür sorgen, dass immer nur ein einziger Thread zu einem bestimmten Zeitpunkt auf Kernelebene laufen kann. Die ISA- und die Giant-Lock-Problematik sollen nun erst mit FreeBSD 15 gelöst werden. Ebenfalls als Stolperstein erwies sich ein notwendiger Bugfix für OpenZFS beim Klonen von Blöcken zwischen verschlüsselten und unverschlüsselten ZFS-Dateisystemen sowie Abstürze durch die Hyper-V-Emulation in QEMU. Beides wurde über den RC4 in den Code eingepflegt.

OpenZFS Version 2.2 ist fester Bestandteil des FreeBSD 14 Basissystems. Neu in dieser Version des Dateisystems ist unter anderem das Block Cloning, Blake3-Checksummen sowie bessere Performance durch einen voll adaptiven Adaptive Replacement Cache (ARC) und I/O-Prefetch-Optimierungen.

Mit makefs(8) formatiert man Datenträger oder Partitionen mit verschiedenen Dateisystemen. Experimentell kann dazu jetzt neben ffs (BSD) und msdos (FAT12&16/32) auch ZFS verwendet werden. Theoretisch kann man damit auf einem USB-Stick einen portablen ZFS-Pool anlegen.

Bhyve, der von Grund auf neu entwickelte Hypervisor von FreeBSD, soll in Zukunft ein optionales emuliertes Trusted Plattform Module (TPM) bekommen. Mit dem aktuellen Code können Anfragen von Bhyve-Gästen lediglich an das physische Trusted Plattform Module des Hosts weitergeleitet werden – was unter Sicherheitsaspekten vielleicht keine so gute Idee ist. Das Durchreichen (passthrough) von GPUs zu Bhyve-Gästen wurde weiter verbessert, funktioniert aber nicht immer und gilt nur für AMD- und Intel-GPUs.

FreeBSD-Administratoren sollten beachten, dass die Standard-Shell für root ab FreeBSD 14 sh(1) und nicht mehr csh(1) ist – man muss eventuelle Konfigurationsdateien (.cshrc) portieren, wobei ein Blick in den Abschnitt "Invocation" der sh(1)-Manualpage hilft. Als standardmäßiger Mail Transport Agent (MTA) wurde das gruselige sendmail(8) durch Dragonfly Mail Agent dma(8) ersetzt. Der Name deutet an, dass dieser einfache MTA aus dem Dragonfly BSD-Universum stammt und auf den Home- und Office-Einsatz ausgerichtet wurde. Für Upgrades von FreeBSD 13 auf FreeBSD 14 wichtig: die Home-Verzeichnisse für neue Benutzer liegen nicht mehr wie zuvor unter /usr/home/<Benutzer> mit einem symbolischen Link auf /home/<Benutzer>, sondern werden jetzt direkt unter /home angelegt.

Das angestaubte portsnap(8), mit dem der Ports Tree (Source Code) von FreeBSD heruntergeladen werden konnte, wurde aus FreeBSD 14 entfernt. Stattdessen sollen Administratoren den Code per git ausschecken:

git clone https://git.freebsd.org/ports.git /usr/ports

Die Portsnap-Server im Internet wollen die Entwickler mit dem Support-Ende von FreeBSD 13 abschalten. Auch mergemaster(8) wurde durch etcupdate(8) ersetzt, um nach einem Update/Upgrade die Dateien im /etc-Verzeichnis anzupassen.

Die LLVM-Toolchain wurde auf Version 16.0.6, das GCC-Toolset auf Version 12.5 aktualisiert, wobei auch ältere und neuere Versionen installiert werden können. Der LLVM Memory Sanitizer kann nun auf AMD64- und ARM64-Kernel angewendet werden. Das dann Kmsan (Kernel Memory SANitizer) genannte Subsystem nutzt den Compiler, um die Verwendung von nicht initialisierten Kernel-Speicher aufzuspüren und Exploits vorzubeugen.

Ähnlich wie fw_update(8) von OpenBSD installiert das neue fwget(8) auf einem laufenden FreeBSD 14-System sämtliche benötigte Firmware. Das funktioniert bislang nur für PCI-Geräte, soll aber ausgebaut werden.

Das FreeBSD 14.0-RELEASE steht unter der vollkommen freien BSD-Lizenz und ist in unterschiedlichen Formaten ab sofort für folgende Plattformen auf den Download-Servern von FreeBSD verfügbar: AMD64, i386, ARM64/aarch64, ARMv6, ARMv7, PowerPC, PowerPC64 und RISCV64. Images für Cloud-Instanzen stehen auf Amazon EC2, Google Computer Engine und für Hashicorp/Atlas Vagrant zur Verfügung. Alle Neuerungen sind in den Release Notes zu FreeBSD 14 auf der FreeBSD-Projektseite aufgeführt.

Die zuvor aktuelle Version FreeBSD 13.2 erblickte im April dieses Jahres das Licht der Welt.

Aktuelle Linux/Unix-Versionen

Der aktuelle Stand der wichtigsten Unix- und Linux-Distributionen:

(dmk)