OpenBSD 7.2 mit Verbesserungen bei den ARM64-Architekturen

OpenBSD wurde mit Version 7.2 vor allem auf weitere ARM64-Plattformen portiert, etwa auf Ampere Altera-Cloudserver, Apples M2-Systeme und Lenovos ThinkPad X13s.

In Pocket speichern vorlesen Druckansicht 29 Kommentare lesen

OpenBSD 7.2 wird über einen einfach zu bedienenden Textmode-Installer auf die 14 unterschiedlichen Architekturen installiert.

Lesezeit: 7 Min.
Von
  • Michael Plura
Inhaltsverzeichnis

Theo de Raadt und die OpenBSD-Entwickler haben das neue OpenBSD 7.2-RELEASE für den allgemeinen Einsatz freigegeben. In den OpenBSD-Kernel fließen damit viele kleine Verbesserungen ein, angefangen von der Möglichkeit auf ARM64 zwischen der Glass Console und einer seriellen Konsole umzuschalten, einigen Bugfixes für die Verwaltung von GPT-Partitionen bis hin zu Optimierungen beim Paketfilter pf(4).

OpenBSD hat sich im Vergleich zu anderen Systemen erst spät um die Optimierung von Multiprozessor-Systemen gekümmert, läuft seit einiger Zeit jedoch problemlos und erhält nun nur noch Feintuning wie beispielsweise bei der Verarbeitung von IPv4-/IPv6-Paketen.

Die für Grafik unabdingbaren Direct Rendering Manager drm, inteldrm und radeondrm sind bei OpenBSD 7.2 auf dem Stand von Linux 5.15.69. Intels Alder Lake und Raptor Lake werden unterstützt. Auch gibt es eine gesonderte Behandlung für die Framebuffer von Apples 14"- und 16"-MacBook Pro von 2021.

Beim von Grund auf neu entwickelten und nativen Hypervisor von OpenBSD (vmd/vmm) wurden alle internen Datenstrukturen standardisiert. Das Migrieren von VMs über vmctl send/receive wurde verbessert.

Bei den Anwenderprogrammen (Userland) gibt es ein neues kleines Werkzeug namens ts(1). Das "Timestamp"-Tool gibt einen Zeitstempel aus und kann für händisches Logging verwendet werden - was auch mit der date(1)-Funktion möglich wäre:

$ (echo eins; sleep 10; echo zwei) | ts

Okt 20 10:54:42 eins

Okt 20 10:54:52 zwei

Alle Prozesse zeigt ps(1) mit dem Parameter "-f" (forrest) sortiert in einer Baumansicht an. Erstaunlich viele Fixes gibt es für den rudimentären Partitionseditor fdisk(1).

Wie immer gibt es bei dem kompromisslos auf Sicherheit und korrekten Code ausgerichteten OpenBSD unzählige Verbesserungen und Optimierungen im Netzwerk-Stack, bei den Treibern und den Sicherheitsfunktionen. Zusammen mit dem neuen LibreSSL 3.6.0, dem OpenSSH 9.1 und den Routing-Daemons machen diese Änderungen gefühlt zwei Drittel aller Neuerungen von OpenBSD 7.2 aus. Die Release-Informationen zu OpenBSD 7.2 listen alle Änderungen detailliert auf [].

OpenBSD läuft schon lange auf diversen ARM-Prozessoren, darunter auch auf dem Raspberry Pi 3/4 und anderen ARM-SoCs bis hin zu IBM ThinkSystem-Servern mit Ampere eMAG-CPUs. Ampere entwickelt Cloud-native ARM-basierte Computerprozessoren und CPU-Kerne speziell für den Einsatz in Rechenzentren.

Neu hinzugekommen ist nun die OpenBSD-Unterstützung für den Ampere Altra (Q80-30) mit bis zu 80 ARMv8.2+-Kernen und 4 TByte DDR4-3200-RAM, die mit bis zu 3 GHz laufen. Das sind beispielsweise Systeme, die mit GIGABYTE R152/R272/E252-Boards bestückt sind. Da Ampere-Systeme energieeffizienter als vergleichbare Intel-Server sind, setzen alle großen Cloudanbieter die Ampere-Rackserver massenhaft ein – beispielsweise Amazon, Microsoft, Google, Facebook, Baidu, Alibaba, Tencent, Oracle, ByteDance, HPE, Cloudflare, Equinix, Hetzner oder auch China Mobile und weitere.

Wer ein Lenovo ThinkPad X13s oder andere Notebooks mit einer Snapdragon-CPU (SC8280XP) besitzt, kann auch darauf ein OpenBSD 7.2 installieren. Das ist nach wie vor auch auf Apple Macs mit ARM-CPU möglich, wobei zu den bisherigen M1-CPUs nun auch die neuen M2-Apple MacBook Air/Pro hinzugekommen sind. Dazu mussten einige Treiber wie alpdc, apldchidev, apldckbd, apldcms, und aplrtk für Tastatur und Trackpad angepasst werden. Neu sind auch die Treiber für das Apple Audio Subsystem aplaudio(4) und den dazugehörenden MCA-Controller aplmca(4) sowie der Apple SART Adress-Filter aplsart(4)

OpenBSD 7.2/arm unterstützt nun bis zu 256 ARM64-CPUs, und endlich gibt es auch ersten Code für eine funktionierende Suspend/Resume-Funktion sowie mehr Platz für Daten (Login-Klasse data-size-cur jetzt 1536 MByte), was Anwendungen wie Webbrowser deutlich beschleunigen sollte.

Speziell für den OpenBSD/amd64-Port gibt es nur wenige Verbesserungen. Die BSD-Kernel (bsd.rd für Single- und bsd.mp für Multiprozessorsysteme) wurden angepasst, sodass sie in den Oracle Cloud-Instanzen starten. Die Handhabung des Time Stamp Counters (TSC) auf SMP-Systemen wurde vereinfacht. Eine neue delay_init()-Funktion für AMD63 und i386 erleichtert es, Wartezeiten per delay(9) auf unterschiedlichen Timern zu setzen und zwischen ihnen umzuschalten. AMD64, ARM64 und SPARC64 können nun auch direkt von einem RAID-1C (Crypted Mirror, verschlüsselte und gespiegelte Laufwerke) starten.

Während andere OpenSource-Betriebssysteme zur architektonischen Monokultur neigen und neben der allgegenwärtigen AMD64- und der hippen ARM-Plattformen (insbesondere Apple M1/M2) vielleicht noch PowerPC-Portierungen anbieten, pflegt OpenBSD seit jeher viele teilweise auch alte Implementierungen.

Nur NetBSD läuft auf noch mehr Plattformen – wobei man dabei vorsichtig sein sollte, denn NetBSD generiert die Installationsmedien in emulierten VMs (und dann kommt irgendwann heraus, dass eine Portierung wegen eines Bugs bereits seit Jahren nicht mehr auf "echter" Hardware lauffähig ist). OpenBSD folgt dem Motto "eat your own dogfood" – ein offizieller Port muss sich selbst auf der jeweiligen Hardware komplett übersetzen können. Das ist übrigens der Grund, warum die Portierung mancher älterer Systeme erst Tage oder Wochen nach dem Release verfügbar sind. Erst wenn bei den OpenBSD-Entwicklern keine lauffähigen Build-Systeme mehr verfügbar oder wirkliche kein Interesse bei den Anwendern mehr vorhanden sind, wird der Port eingefroren.

Daher gibt es beispielsweise auch immer noch Verbesserungen bei der OpenBSD/luna88k. Die Systeme aus den frühen 90ern dürfte kaum jemand kennen, es handelt sich um frühe Unix-Systeme von Data General und Unisys, die mit bis zu vier Motorola 25/33 MHz 88100-CPUs (erst danach gab es die MC68000-Familie) und 16 bis 112 MByte RAM bestückt werden konnten. OpenBSD/luna88k 7.2 erhielt Fixes für den SMP-Betrieb, Xorg und NFS-Support für den Ramdisk-Kernel. Entwickler, die solche Systeme pflegen, fallen im OpenBSD-Universum nicht den Modernisierungsfetischisten zum Opfer, sondern sind willkommen – denn bei den Portierungen auf "merkwürdige" Hardware werden ab und zu kuriose Fehler im Code gefunden (und beseitigt), die auf den Mainstream-Architekturen nicht auffallen.

OpenBSD steht unter der freien MIT-Lizenz und ist als OpenSource-Software frei verfügbar. Über die Paketverwaltung lassen sich über 11.000 Anwendungen installieren. Xenocara, OpenBSDs sichere Interpretation von Xorg, liegt in Version 7.7 vor und läuft mit verschiedenen Desktops wie MATE, Xfce 4.16, GNOME 42.4 oder KDE 5.98.0. Dazu gibt es einen Chromium 105 oder Mozilla Firefox 105/ESR 102.3 und ein LibreOffice 7.4.1.2 – alternativ einen emacs 28.2 oder vim 9.0. Auch andere gängige OpenSource-Software liegt immer in aktuellen Versionen vor.

Installation-Images und -Anleitungen für 14 Hardware-Plattformen liegen zusammen mit dem ausführlichen Changelog auf der Projektseite kostenlos bereit.

Aktuelle Linux/Unix-Versionen

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

(axk)