FreeBSD 13.2, das dritte Release der 13er-Serie, steht in den Startlöchern. Es ist ein Service Release, das relativ wenige neue Funktionen bringt und sich vor allem auf kleinere Verbesserungen, die Unterstützung neuer Geräte in vorhandenen Treibern, sowie Bugfixes konzentriert.
Das Wichtigste zusammengefasst:
Ein Hinweis für alle, die unsere Ankündigung übernehmen möchten: Wir haben nichts dagegen, dass unser Text kopiert wird. Allerdings unter der Bedingung, dass im Sinne der BSD-Lizenz BSDForen.de als Quelle genannt wird.
Die Ankündigung in Kopie:
Die Ankündigung: https://www.freebsd.org/releases/13.2R/announce.html
Die Release Notes: https://www.freebsd.org/releases/13.2R/relnotes/
Die Errata Liste: https://www.freebsd.org/releases/13.2R/errata/
Die Release Notes: https://www.freebsd.org/releases/13.2R/relnotes/
Die Errata Liste: https://www.freebsd.org/releases/13.2R/errata/
Das Wichtigste zusammengefasst:
Userland:
- Das growfs(7) Startscript fügt nun während des Vergrößerungsvorgangs, wenn möglich und bisher keine existierte, eine swap-Partition hinzu. Dies ist vor allem nützlich bei Installationen vom raw image auf SD-Karten. Mit der neu hinzugefügten rc.conf(5) Variable
growfs_swap_size
lässt sich das genauer einstellen. - Ein neues RC script,
zpoolreguid
ermöglicht neue GUIDs für einen oder mehrere ZFS-pools. Nützlich bei gemeinsam verwendeten datasets in virtuellen Umgebungen. - Das
hostid
Startscript generiert jetzt eine zufällige (v4) UUID, wenn /etc/hostid nicht existiert und die Hardware auch keine (gültige) bereitstellt. - Es ist jetzt möglich mehrere routen/gateways auf unterschiedliche FIBs zu setzen. Dies wird durch die rc.conf(5) Variablen
defaultrouter_fibN
undipv6_defaultrouter_fibN
festgelegt. - Das bhyve(8) tool bekam Unterstützung für virtio-input. Damit lassen sich Eingaben von Maus/Tastatur(-Events) vom Host an den Gast senden. Der Befehl dazu:
-s <slot>,virtio-input,/dev/input/eventX
- Das kdump(1) tool versteht nun auch Linux system calls
- Das killall(1) tool erlaubt jetzt die Kommunikation über das jeweilige Terminal via
-t pts/N
- nproc(1) wurde hinzugefügt, es ist mit dem gleichnamigen Linuxprogramm kompatibel.
- timeout(1) wurde von /usr/bin nach /bin verschoben
- pciconf(8) wurde erweitert um auch ACS-Fähigkeiten auszulesen
- procstat(1) kann nun Informationen über advisory locks bei Dateien ausgeben. Die geschieht mit dem ebenfalls neuen
advlock
Befehl. - pwd_mkdb(8) kopiert ab jetzt keine Kommentare mehr von /etc/master.passwd nach /etc/passwd
- MSS clamping für ppp(8) wurde verbessert
- Metric aliasing wurde in prometheus_sysctl_exporter(8) geändert, um Konflikte des Prometheus-Servers aufgrund widersprüchlicher Metriknamen zu vermeiden. Die UMA-Zone
tcp_log_bucket
wurde aus Konsistenzgründen intcp_log_id_bucket
undtcp_log_node
intcp_log_id_node
umbenannt. Sysctl-Variablen mit (LEGACY) in ihren Beschreibungen werden nicht mehr exportiert, diese werden von ZFS-sysctls verwendet, die durch andere ersetzt wurden, von denen viele den gleichen Prometheus-Metriknamen haben (wievfs.zfs.arc_max
undvfs.zfs. arc.max
) - uuidgen(1) hat einen neuen Schalter
-r
, mit diesem lässt sich eine neue (v4) UUID generieren.
Änderungen am Kernel:
- Der bhyve(8)-Hypervisor und das Kernel-Modul vmm(4) unterstützen jetzt mehr als 16 vCPUs in einem Gast. Standardmäßig erlaubt bhyve jedem Gast, die gleiche Anzahl von vCPUs zu erstellen, wie physische CPUs auf dem Host vorhanden sind. Diese Grenze kann über das tunable
hw.vmm.maxcpu
angepasst werden. - Address Space Layout Randomization (ASLR) ist standardmäßig für ausführbare 64-Bit-Dateien aktiviert. Es kann bei Bedarf deaktiviert werden, wenn Anwendungen unerwartet fehlschlagen, beispielsweise bei segfaults. Zum Deaktivieren für einen einzelnen Aufruf:
proccontrol -m aslr -s disable command
. Um ASLR für alle Aufrufe einer Binärdatei zu deaktivieren:elfctl -e +noaslr file
- Für ein Problem mit hardware page invalidation auf Hybrid-CPUs von Intel Alder Lake (zwölfte Generation) und wahrscheinlich Raptor Lake (dreizehnte Generation) wurde ein workaround implementiert. Der Fehler kann zu einer Beschädigung des Dateisystems mit UFS und MSDOSFS und wahrscheinlich zu einer anderen Speicherbeschädigung führen.
- Eine neue Kernel-Konfigurationsoption ist verfügbar,
SPLIT_KERNEL_DEBUG
. Diese steuert die die Aufteilung von Kernel- und Modul-Debug-Daten in separate eigenständige Dateien. Dies interagiert mit der OptionWITHOUT_KERNEL_SYMBOLS
, die anders funktioniert als noch mit 13.0-RELEASE sowie 13.1-RELEASE, aber ähnlich wie in früheren Versionen; es steuert jetzt nur die Installation der Debug-Daten. Die Standardwerte sindWITH_KERNEL_SYMBOLS
undWITH_SPLIT_KERNEL_DEBUG
, wodurch der Kernel und die Module ohne Debug-Daten in /boot und eigenständige Debugging-Dateien in /usr/lib/debug installiert werden können, wie dies standardmäßig in Versionen vor 13.0-RELEASE der Fall war. Bei Verwendung vonWITHOUT_KERNEL_SYMBOLS
undWITH_SPLIT_KERNEL_DEBUG
werden eigenständige Debugging-Dateien generiert, aber nicht installiert, wie bei der Verwendung vonWITHOUT_KERNEL_SYMBOLS
in Versionen vor 13.0-RELEASE. Schließlich installiert die Verwendung vonWITHOUT_KERNEL_SYMBOLS
undWITHOUT_SPLIT_KERNEL_DEBUG
den Kernel und die Module mit eingebauten Debugging-Informationen in /boot, wie in 13.1-RELEASE mitWITHOUT_KERNEL_SYMBOLS
- Auf dem PowerPC wird Radix pmap in pseries für ISA 3.0 unterstützt. Dies sollte pseries auf POWER9-Instanzen erheblich schneller machen, da jetzt weniger Hypercalls zur Verwaltung von pmap erforderlich sind.
- Unterstützung für ptrace(2) ist jetzt für Linux-Prozesse auf arm64 verfügbar.
- Um die ABI-Kompatibilität der stable-Zweige zu erleichtern, sind die system calls der CPU-Affinität jetzt toleranter gegenüber CPU-Sätzen, die kleiner sind als vom Kernel verwendet. Dies wird eine Erhöhung der Größe des Kernelsatzes MAXCPU erleichtern.
- 64-Bit linux(4) ABI-Unterstützung wurde hinzugefügt, um den CPU-Gleitkommastatus über die Signalübermittlung hinweg zu sichern
Treiber:
- Der em(4) Treiber unterstützt nun alle Größen des receive buffers bei neueren Chips wie 82580 und i350.
- Der ena(4) Treiber wurde auf version 2.6.2 hochgezogen.
- In hwpmc(4) wurde die erste Unterstützung für Alder Lake CPUs implementiert.
- Der irdma(4) RDMA-Treiber wurde für den Intel E810 Ethernet Controller eingeführt, der sowohl RoCEv2- als auch iWARP-Protokolle auf Per-PF-Art unterstützt, wobei RoCEv2 der Standard ist, und wurde auf Version 1.1.5-k aktualisiert.
- Erste Unterstützung ist jetzt für DPAA2 (Data Path Acceleration Architecture der zweiten Generation - eine Netzwerkarchitektur auf Hardwareebene, die in einigen SoCs von NXP zu finden ist) verfügbar. Es führt von NXP bereitgestellte Firmware aus, die DPAA2-Objekte als Abstraktionsschicht und eine dpni -Netzwerkschnittstelle bereitstellt.
- Der rtw88(4)-Treiber wurde hinzugefügt, um mehrere drahtlose PCI-Schnittstellen von Realtek zu unterstützen. Es ist derzeit auf den 802.11 a/b/g-Betrieb beschränkt.
Änderungen bei UFS:
Es ist jetzt möglich, Snapshots auf UFS-Dateisystemen zu erstellen, wenn sie mit Journaled Soft Updates ausgeführt werden. Somit ist es jetzt möglich, Hintergrund-Dumps auf Live-Dateisystemen zu erstellen, die mit Journaled Soft Updates laufen. Dumps im Hintergrund werden angefordert, indem das Flag-L
für dump(8) verwendet wird.Netzwerk:
- Der Kernel wg(4) WireGuard-Treiber wurde frisch integriert, er bietet VPN-Schnittstellen (Virtual Private Network) mit dem WireGuard-Protokoll.
- KTLS (die Kernel-TLS-Implementierung) hat receive offload support für TLS 1.3 hinzugefügt bekommen. Receive Offload wird jetzt für TLS 1.1 bis 1.3 unterstützt; Send Offload wird für TLS 1.0 bis 1.3 unterstützt.
- Das Netzwerkkonfigurationsprotokoll netlink(4) ist jetzt verfügbar. Es ist ein in RFC 3549 definiertes Kommunikationsprotokoll und verwendet einen raw socket, um Konfigurationsinformationen zwischen Userspace und Kernel auszutauschen. Es wird von Routing-Programmen von Drittanbietern und von der linux(4) ABI verwendet. Das netlink(4)-Protokoll ist nicht in der GENERIC-Konfiguration in 13.2-RELEASE enthalten, aber als Kernel-Modul verfügbar.
- Radix-Tabellen und Lookups werden jetzt für MAC-Adressen in ipfw(4) unterstützt. Dadurch können MAC-Adresstabellen erstellt und zum Filtern verwendet werden.
- Die Kernel-Module
dpdk_lpm4
unddpdk_lpm6
sind jetzt verfügbar und können über loader.conf(5) geladen werden. Sie bieten optimierte Routing-Funktionen für Hosts mit sehr vielen Routing-Tabellen. Sie können über route(8) konfiguriert werden und sind Teil des modularen FIB-Lookup-Mechanismus.
Ein Hinweis für alle, die unsere Ankündigung übernehmen möchten: Wir haben nichts dagegen, dass unser Text kopiert wird. Allerdings unter der Bedingung, dass im Sinne der BSD-Lizenz BSDForen.de als Quelle genannt wird.
Die Ankündigung in Kopie: