Nach einem für ein Hauptrelease schnellen und reibungslosen Release Prozess hat das FreeBSD Release Engineering Team heute FreeBSD 15.0 veröffentlicht. Es handelte sich um das fünfzehnte Hauptrelease und das erste Release der FreeBSD 15.x Serie. Als solches bringt es tiefgreifende Neuerungen, sowie Änderungen. FreeBSD 15 wird mindestens vier Jahre, die einzelnen Subreleases jeweils drei Monate über das Erscheinen des nachfolgenden Subreleases hinaus unterstützt werden.
Die Ankündigung: https://www.freebsd.org/releases/15.0R/announce/
Die Errata-Liste: https://www.freebsd.org/releases/15.0R/errata/
Die Release Notes: https://www.freebsd.org/releases/15.0R/relnotes/
Die wichtigsten Änderungen gegenüber FreeBSD 14.3 sind:
Die FreeBSD Foundation unterstützt die Entwicklung von FreeBSD direkt durch angestellte Entwickler und der Finanzierung von Projekten, sowie indirekt durch Öffentlichkeitsarbeit und rechtlichen Beistand. In 15.0 hat die Foundation unter anderem Unterstützung für OCI-Container, sowie das Laptop-Projekt ermöglicht. Insgesamt investiert die Foundation im Jahr 2025 2.100.000 US-Dollar in FreeBSD. Die Foundation finanziert sich ausschließlich aus Spenden. Spenden können unter https://freebsdfoundation.org/donate-to-freebsd-foundation/ getätigt werden.
Die Ankündigung: https://www.freebsd.org/releases/15.0R/announce/
Die Errata-Liste: https://www.freebsd.org/releases/15.0R/errata/
Die Release Notes: https://www.freebsd.org/releases/15.0R/relnotes/
Die wichtigsten Änderungen gegenüber FreeBSD 14.3 sind:
- Allgemeines:
- Zusätzlich zu dem bekannten Weg ein monolithisches Basisystem über freebsd-update zu aktualisieren, wird mit PKGBASE nun ein modulares, durch pkg verwaltetes Basissystem unterstützt. Beide Wege schließen sich gegenseitig aus, das Basisystem kann entweder klassisch aktualisiert oder durch pkg verwaltet werden. Die entsprechenden Tools, unter anderem bsdinstall und freebsd-update wurden entsprechend angepasst. das monolithische Basissystem wird dauerhaft weiter unterstützt werden. Aktualisierungen für dieses über freebsd-update werden über den 15.x Zyklus hinweg angeboten werden. Mit pkgbasify (nicht im Basissystem um jederzeit Verbesserungen einfügen zu können) steht ein Tool zur Verfügung, was monolithische Installationen zu PKGBASE konvertiert.
- Wie bereits zur Veröffentlichung von FreeBSD 14.0 vor etwa zwei Jahren angekündigt, wurde die Unterstützung für FreeBSD/i386 entfernt. Enstprechende Binaries können unter der FreeBSD32-Kompatibilitätsschicht weiterhin auf FreeBSD/amd64 ausgeführt werden. Das Ende von FreeBSD/i386 ist das Ende einer Ära, entstand FreeBSD doch 1993 als sich explizit auf Intels i386 CPU bzw. x86-Architektur konzentrierende Fortführung von 386BSD aka Jolix.
- Es gibt nun eine offizielle, beginnend mit FreeBSD 15.0 betriebssystemseitig vollständig implementierte Spezifikation für OCI-Container. Mit ocijail (derzeit aufgrund schneller Fortentwicklung nicht im Basissystem, stattdessen als Port verfügbar) gibt es eine entsprechende OCI-Runtime. Podman nutzt diese für offizielle, jedoch noch experimentelle Unterstützung von FreeBSD. Weitere Entwicklungen im Bereich OCI-Container sind in Arbeit.
- Dank finanzieller Unterstützung des Souverain Tech Funds der deutschen Bundesregierung wurde das Build-System deutlich modernisiert. FreeBSD unterstützt nun Reproduceable Builds, zudem sind zum Bauen des System aus den Sourcen keine Root-Rechte mehr notwendig.
- Bootloader und Kernel:
- Im Rahmen des durch die FreeBSD Foundation und u.a. Dell gesponserten Laptop Projekts wurden drastische Verbesserungen im Bereich Power Management, Grafiktreiber (weiterhin in den Ports um neue Hardware unabhängig von FreeBSD Releases unterstützen und jederzeit Bugfixes bringen zu können) und Eingabegeräte vorgenommen. Dies beinhaltet unter anderem experimentelle Unterstützung für die Power Management Unit moderner AMD-Prozessen, initiale Unterstützung für moderne Sleep Modes wie S0ix und Unterstützung für das evdev-Eingabeprotokoll.
- Unterstützung für USB4 und damit auch Thunderbolt 3. USB4 ist eine Obermenge zu Thunderbolt 3.
- Der klassische BIOS-Bootloader unterstützt keine graphische Konsole mehr, in der Folge können per BIOS gebootete Systeme ausschließlich die Textkonsole nutzen. Grund dafür ist, dass der Bootloader im Real Mode ausgeführt wird und daher nur 640 Kilobyte RAM zur Verfügung hat. Neue Funktionen, vor allem die Unterstützung neuer ZFS-Features, haben den RAM-Bedarf soweit steigen lassen, dass Kompromisse notwendig sind. Generell ist zu empfehlen Systeme, welche UEFI unterstützen, auf UEFI-Boot umzustellen.
- FreeBSD unterstützt nun den Boot durch LinuxBoot. Damit kann FreeBSD aus entsprechender Firmware direkt, sprich ohne weiteren Shim-Loader gestartet werden. Als sozusagen Nebeneffekt kann FreeBSD mittels des Linux-Syscall kexec() aus einem laufenden Linux heraus gestartet werden.
- Eine Reihe Verbesserungen des Standard-Schedulers SCHED_ULE für Systeme mit einer großen Anzahl CPUs, sowie asymmetrischer CPU-Topologie. Letzteres sind beispielsweise ARM big.LITTLE CPUs oder x86-CPUs mit kleinen, sowie großen Kernen.
- Es werden nun in allen Schedulern 256 Runqueues unterstützt. Dies ist für POSIX-Kompatibilität notwendig und hilft zudem interaktiven Anwendungen.
- Die Unterstützung für AGP-Grafikkarten wurde entfernt, solche Karten werden nun langsamer als normale 32-Bit PCI-Karten angesprochen.
- Doku:
- Manpages dokumentieren jetzt durchgehend relevante Sysctl.
- Die intro Manpages der Manpage-Kategorien mit Hinweisen für neue Nutzer wurden grundüberarbeitet.
- Netzwerk:
- Das Sysctl net.link.bridge.member_ifaddrs erlaubt es zu verhindern, dass IP-Adressen auf Bridge Member gesetzt werden. Dies ist nicht unterstützt und ein häufiger Konfigurationsfehler. Anders als geplant, ist dies jedoch nicht standardmäßig eingeschaltet, dies soll nach diversen Protesten während der Beta-Phase nun erst mit 16.0 geschehen.
- Endpoint Independed NAT nach RFC 4787 wird nun unterstützt.
- Drastische Verbesserungen im Bereich WLAN. Diese sind im Rahmen des Laptop-Projekts vorgenommen wurden. Unter anderem werden nun weitere WLAN-Karten auf Basis verschiedener Realtek- und Mediatek-Chips unterstützt, zudem wurde die Unterstützung diverser WLAN-Standards teils deutlich verbessert. Um zügig weitere Verbesserungen bringen zu können, ist die Kernel-API für WLAN über den FreeBSD 15.x Zyklus hinweg explizit nicht stabil, sprich externe Kernelmodule und Tools von Drittanbietern können in 15-STABLE und den folgenden Subreleases jederzeit brechen.
- Umfangreiche Verbesserungen bei den ipfw und pf Paketfiltern. Dies beinhaltet verschiedene weitere NAT-Typen wie das oben genannte Endpoint Independed NAT in ipfw und NAT64 in pf, neue Funktionalität im Dummynet Netzwerksimulator und Traffic-Shaper, sowie im Fall von pf eine Reihe aus OpenBSD zurückgeflossener Änderungen.
- if_bridge(4) hat nun vollständige, uneingeschränkte Unterstützung für klassische, sowie QinQ-VLANs.
- Sound:
- Das Open Sound System wurde grundlegend überarbeitet und auf moderne Anforderungen wie mobile Endgeräte und hohe Samplerates angepasst. Außerdem wurde auf die Anforderungen digitaler Audioproduktion wie niedrige Latenzen und eine große Anzahl paralleler Kanäle optimiert.
- Virtuelle Kanäle (vchans) werden nun dynamisch allokiert und sind nicht auf eine zur Bootzeit festgelegte Anzahl begrenzt.
- Virtuelle Kanäle (vchans) werden nun verzögert deallokiert. Dies ermöglicht es Wiedergabegeräte, auf welche noch Kanäle gebunden sind, fehlerfrei zu trennen. Zum Beispiel können USB-Headsets nun jederzeit abgezogen werden ohne eine Kernel Panic zu riskieren.
- virtual_oss ist nun Teil des Basissystems.
- Storage:
- Wie bereits zu FreeBSD 12.0, 13.0 und 14.0 angekündigt, wurde der gvinum Volume Manager entfernt. Nutzer sind angehalten auf ZFS zu migrieren.
- OpenZFS wurde auf 2.4.0 aktualisiert. Dies bringt unzählige Änderungen, eine vollständige Liste findet sich in den Release Notes des OpenZFS-Projekts: https://github.com/openzfs/zfs/releases
- Diverse Verbesserungen am NFS-Server und -Client. NFS 4.2 wird nun vollständig, einschließlich Clone, unterstützt. Damit können Client auf einem kompatiblen Server liegende Dateien ähnlich Copy on Write nichtdestruktiv verändern. Zudem werden erweiterte Attribute im Solaris-Stil unterstützt, was die Kompatibilität gegenüber kommerziellen NFS-Servern und Clients verbessert. NFS kann nun, entsprechend leistungsfähige Hardware vorausgesetzt, moderne Links bis jenseits der 100 Gbit/s auslasten.
- Userland:
- Heimdal Kerberos wurde durch das verbreitetere und kompatiblere MIT Kerberos ersetzt. Das System kann für den 15.x Zyklus noch optional mit Heimdal Kerberos gebaut werden. Kerberos nutzende Anwendungen auf dem System müssen unter Umständen angepasst werden. KDC müssen eventuell migriert werden. Es wird Nutzern von Kerberos dringend empfohlen die notwendigen Schritte vor dem Upgrade auf FreeBSD 15.0 zu evaluieren.
- Die MAC-Policy mac_do, welche es ermöglicht das klassische SETUID / SETGID Verfahren zur Rechteerweiterung durch feingranulare Capabilities zu ersetzen, wurde deutlich erweitert. Darauf aufbauend dient das neue Tool mdo(1) als native Alternative für z.B. sudo(8) oder doas(8)
- Das rc-System unterstützt nun Service Jails. Einzelne Dienste lassen sich mit minimalen Änderungen am jeweiligen rc-Script automatisch in Jails einschließen. Alle rc-Scripte des Basisystems wurden entsprechend angepasst.
- Jail-Metadaten erlauben es einzelnen Jails beliebige Informationen im 'Key = Value' Format hinzuzufügen.
- Diverse Verbesserungen an bsdinstall(8) und bsdconfig(8). Dies betrifft die Integration von PKGBASE, diverse Komfortoptionen und Verbesserungen für neue Nutzer. Zudem wurde der Paketsatz auf den Installationsmedien erweitert.
- awk(1) wurde auf One True Awk Second Edition aktualisiert und verfügt nun über uneingeschränkte Unicode-Unterstützung.
- Sie letzten verbleibenden GNU-Binutils wurden durch llvm-Binutils ersetzt. Damit ist diff3 die letzte verbliebene GPL-lizensierte Userland-Komponente.
- Das Verhalten der setgroups(2) und getgroups(2) Syscalls hat sich in nicht rückkompatibler Weise geändert. Bisher folgte FreeBSD dem klassischen BSD-Modell, dass diese Funktionen die primäre und die erweiterten Gruppen eines Prozess änderten. FreeBSD war neben MacOS das einzige System, was sich noch so verhielt. Jetzt verhält es sich wie alle anderen Systeme, einschließlich NetBSD und OpenBSD, so dass die Syscalls lediglich die erweiterten Gruppen eines Prozess ändern. Diese Änderung wurde vorgenommen, da viele Programme das jetzt neue Verhalten voraussetzt und das alte Verhalten zu ungewollten, sicherheitsrelevanten Wechseln der primären Gruppe eines Prozess führen kann.
- Virtualisierung:
- Diverse Verbesserungen am bhyve-Hypervisor. Vor allem ist FreeBSD/aarch64 nun eine vollständig unterstützte Host-Plattform , FreeBSD/risc-v eine experimentell unterstützte Host-Plattform. Zudem wird nun User Mode Networking durch SLIRP unterstützt. Die Implementierung ist kompatibel zu qemu. Für Entwickler ist die Möglichkeit interessant, beliebig komplexe NUMA-Topologien zu emulieren.
- Verbesserungen für FreeBSD als Gastsystem unter Hyper-V, in erster Linie vollständige Unterstützung für Microsoft Azure aarch64 VMs. Ein Entsprechendes offizielles Images wird beginnend mit 15.0 auf dem Azure Marktplatz zur Verfügung gestellt.
- Weitere Optimierungen der Bootzeit in virtuellen Umgebungen. Auf einer c5.xlarge Instanz (FreeBSD/amd64) verbessert sich die Bootzeit um etwa zwei Sekunden von 8 Sekunden mit 14.0 auf 6 Sekunden mit 15.0. Auf einer c6g.xlarge Instanz (FreeBSD/aarch64) verbessert sich die Bootzeit von 41 Sekunden deutlich auf 8 Sekunden. Eine geringe Bootzeit ist vor allem in Cloudumgebungen mit sekundengenauer Abrechnung relevant, wo virtuelle Maschinen on-demand hochgefahren und beendet werden.
Die FreeBSD Foundation unterstützt die Entwicklung von FreeBSD direkt durch angestellte Entwickler und der Finanzierung von Projekten, sowie indirekt durch Öffentlichkeitsarbeit und rechtlichen Beistand. In 15.0 hat die Foundation unter anderem Unterstützung für OCI-Container, sowie das Laptop-Projekt ermöglicht. Insgesamt investiert die Foundation im Jahr 2025 2.100.000 US-Dollar in FreeBSD. Die Foundation finanziert sich ausschließlich aus Spenden. Spenden können unter https://freebsdfoundation.org/donate-to-freebsd-foundation/ getätigt werden.
Zuletzt bearbeitet: