FreeBSD 14 kann bis zu 1024 CPUs, bringt OpenZFS 2.2 und Firmware-Management
Brachten bisherige Releases meist neue Funktionen, gelingt mit dem jetzt veröffentlichten FreeBSD 14 eine deutliche Modernisierung des Gesamtsystems.
Gut zweieinhalb Jahre nach Erscheinen von FreeBSD 13 hat das Entwickler-Team FreeBSD 14 veröffentlicht. Das Release hat sich etwas verzögert, weil die Entwickler auch die in letzter Minute aufgetretenen Fehler noch beseitigen wollten. Es begann mit Release Candidate 4 (RC4), der eigentlich gar nicht geplant war. Grund waren ISA-Karten-Treiber und Giant-Lock-Code, ein OpenZFS-Update und die Emulation von Hyper-V in QEMU.
Das eigentliche Release steckte noch einmal eine Woche wegen angeblicher "non critical problems" fest. Im Laufe dieser Woche hat Glen Barber seinen Job als Release-Team-Leader hingeschmissen und wurde durch Colin Percival ersetzt.
Der langsame Abschied von 32-Bit-Hardware
FreeBSD 14 wird die letzte Version des OpenSource-Betriebssystem sein, das 32-bittige Hardware unterstützt. FreeBSD 15 wird, wohl abgesehen von ARMv7, ausschließlich auf 64-Bit-Architekturen laufen, aber noch 32-Bit-Software ausführen können. FreeBSD 16 soll das nicht mehr können und so ein reines 64-Bit-System werden.
Das Limit für die Anzahl der maximal unterstützten CPU-Kerne wurde mit Hinblick auf aktuelle Hardware von 256 auf 1024 angehoben. Das Limit gilt für die AMD64- und ARM64-Architekturen. Für die notwendigen Tests hat AMD den Entwicklern entsprechende Geräte zur Verfügung gestellt.
Mit FreeBSD 14 werden alle 64-bittigen Plattformen mit aktiviertem PIE (Position Independent Executables) und ASLR (Address Space Layout Randomization) ausgeliefert. Zum Vergleich, OpenBSD compiliert Binaries seit Mai 2013 für nahezu alle Architekturen mit positionsunabhängigem Code. Viele GNU/Linux-Distributionen folgten diesem Schritt in den folgenden Jahren, nur FreeBSD benötigte bis heute für dieses wichtige Sicherheitsfeature. Die Sicherheitsfunktionien PIE und ASLR sollen verhindern, dass Angreifer einfach an feste Adressen Schadcode einschleusen können.
Das Application Binary Interface (ABI) der ARM64-Plattform fĂĽr Linux-Systemaufrufe wurde an das ABI der AMD64-Architektur angeglichen, was das Portieren und AusfĂĽhren von GNU/Linux-Binaries auf ARM-SBCs vereinfachen dĂĽrfte.
FreeBSD bootet dreimal schneller als Linux
Wie FreeBSD-Entwickler Colin Percival auf X (frĂĽher Twitter) mitteilte, soll durch einen moderneren Sortieralgorithmus der FreeBSD-Kernel massiv schneller starten. Statt seine SysInits per Bubblesort in die richtige Reihenfolge zu bringen, soll das jetzt verwendete Mergesort bis zu 100x schneller sein.
Auf dem heimischen FreeBSD-Notebook merkt man das kaum, wohl aber in den MicroVMs der Amazon Web Services (AWS FaaS "Lambda" mit Firecracker-Hypervisor). Angeblich soll FreeBSD 14 dort in 25ms starten, ein Linux-Kernel hingegen benötigt 75-80ms. Die Optimierung betrifft die AMD64-, aber auch die ARM64-Architektur, die Amazon in der Cloud häufig einsetzt.
Serielle Verbindungen, beispielsweise bei Single Board Computern wie dem Raspberry Pi, werden ab FreeBSD 14 standardmäßig mit 115.200 statt 9.600 Baud initialisiert. Das kann zu Problemen auf ältere Hardware führen, die diese "schnelle" Datenübertragung nicht schafft. Für spätere SSH-Verbindungen wurde OpenSSH auf Version 9.5p1 aktualisiert.
Zu den vielen weiteren Änderungen in FreeBSD 14, die in den Release-Notes aufgeführt sind, gehören außerdem kinst::<function>:<instruction>
als neuer DTrace-Provider, boottrace
als neue Schnittstelle zum Aufzeichnen von Trace-Ereignissen während des Systemstarts und beim Herunterfahren, das TLS-Offloading des Kernels für TLS 1.3 auf der Empfangsseite und eine erste zarte Unterstützung von WiFi 6 in WPA.