- OpenBSD/arm64 kann nun in einer Apple-Hypervisor-Umgebung als Gastbetriebssystem laufen
- Durch eine Reihe von Commits wurden Grafikverarbeitung und Netzwerkfunktionen korrigiert und verbessert, wodurch Kernel-Panics und das X11-Black-Screen-Problem behoben wurden
- Es funktioniert jetzt vollständig in der Apple-Virtualization-Umgebung und ist auf aktuellen Apple-Silicon-Macs nutzbar
Unterstützung für OpenBSD/arm64 auf Apple Hypervisor
- Durch aktuelle Commits kann OpenBSD/arm64 nun als Gastbetriebssystem auf dem Apple Hypervisor ausgeführt werden
- Die entsprechenden Commits stammen von Helg Bredow(
helg@) und Stefan Fritsch(sf@)
- Die entsprechenden Commits stammen von Helg Bredow(
Helg Bredows viogpu-Fix
- In der Datei
sys/dev/pv/viogpu.cwurde die Funktion viogpu_wsmmap() angepasst- Zuvor wurde eine virtuelle Kernel-Adresse (kva) zurückgegeben, jetzt wird über bus_dmamem_mmap(9) eine physische Adresse zurückgegeben
- Dieser Fix behebt das Black-Screen-Problem beim Ausführen von X11 in QEMU sowie Kernel-Panics auf Apple Hypervisor
- Vor dem Übertragen des Framebuffers in den Host-Speicher wurde ein Aufruf von bus_dmamap_sync(9) ergänzt
- Dadurch kann der auf einer anderen CPU laufende Host Aktualisierungen des Framebuffers erkennen
- Review und Feedback zu der Änderung kamen von kettenis@, das ok wurde von sf@ erteilt
Stefan Fritschs virtio-Netzwerk-Fix
- In der Datei
sys/dev/pv/if_vio.cwurde Unterstützung für das Feature VIRTIO_NET_F_MTU hinzugefügt- Der hardmtu-Wert wird vom Hypervisor übernommen und die aktuelle MTU entsprechend gesetzt
- Obwohl der virtio-Standard hier nicht eindeutig ist, wurde derselbe Ansatz wie unter Linux gewählt
- ETHER_MAX_HARDMTU_LEN wird als Obergrenze verwendet und ermöglicht damit eine genauere Behandlung als das bisherige MAXMCLBYTES
- Falls der Hypervisor eine größere MTU anfordert, wird ohne das Feature VIRTIO_NET_F_MTU neu verhandelt
- Mit diesem Commit funktioniert OpenBSD vollständig in der Apple-Virtualization-Umgebung
- Input und Tests kamen von helg@, das ok wurde von jan@ erteilt
Hinweise für Nutzer und Testempfehlung
- Diese Änderung ist besonders nützlich für Nutzer aktueller Apple-Silicon-Mac-Modelle
- Derzeit kann sie in der Snapshot-Version getestet werden; Feedback von Nutzern ist erwünscht
1 Kommentare
Hacker-News-Kommentare
Die Spezifikation ist mehrdeutig, daher funktioniert Linux einfach so, aber OpenBSD musste einen separaten Patch einbauen, um harte MTU-Beschränkungen zu behandeln.
Dank der Single-Thread-Leistung der M4/M5-Chips sind OpenBSD-Gäste eine ideale Umgebung zum Testen von
pf-Konfigurationen oder zum Betreiben isolierter Mail-Server.Jetzt kann viogpu zuverlässig genutzt werden, sodass man bei schnellen VM-Installationen nicht mehr nur auf die serielle Konsole angewiesen ist.
Großer Applaus für Helg und Stefan.
Wegen dieses Fehlers blieb OpenBSD auf arm64 beim Start von X hängen; das Problem war nach den Framebuffer-Änderungen in Version 7.3 entstanden.
Die einzige Lösung war bisher, den Kernel-Treiber zu deaktivieren, aber jetzt können wohl mehr Leute OpenBSD problemlos ausprobieren.
OpenBSD lief schon seit Langem auch mit der Kombination Hypervisor.framework + QEMU.
Falls das ein echtes Thema ist, würde mich interessieren, ob es da Verbesserungen gibt.
Umgekehrt ist es viel einfacher, wenn der Gast glaubt, er habe 4 GiB RAM, der Host aber tatsächlich nur beim Zugriff Speicher zuweist.
VMs sind etwas völlig anderes als Container.
Ich wünschte, er würde auch andere Hypervisor-Protokolle unterstützen (
libvirtd,bhyveusw.).Ich würde gern wissen, ob es so isoliert ist, dass selbst der Host mathematisch nicht eindringen kann. Für Schlüsselverwaltung könnte es ideal sein.
Mit passender Hardware ist also durchaus eine starke Isolation möglich.
Behandelt wird das auch in diesem BSDCan-2025-Vortrag.
Im Moment geht nur RDP/VNC, daher hoffe ich, dass mit dieser Verbesserung auch der Framebuffer funktioniert.