I/O der i386-Architekturvariante von OpenBSD ist in QEMU/KVM derart langsam, dass es quasi unmöglich ist, das System zu benutzen.
In diesem Artikel wird das Problem durch Deaktivieren der Kernel-Funktionen mpbios sowie acpimadt umgangen.1
Die Anleitung kann auch als Referenz für Installationen der x86_64-Variante genutzt werden. In diesem Fall kann – und sollte – auf den Workaround verzichtet werden. Das System funktioniert ohne ihn einwandfrei.
Umgebung definieren
Diese Variablen müssen in jedem Schritt des folgenden Ablaufs gesetzt sein:
OpenBSD herunterladen
Geladen wird das installXX.iso Image der gewünschent Architektur.2
Virtuelle Maschine erstellen
Hier wird virt-install anstatt der grafischen Oberfläche virt-manager verwendet um die virtuelle Maschine mit nur einem Befehl zu erstellen.
OpenBSD in auf serielle Konsole umschalten
Um auf die Nutzung der grafischen libvirt-Verwaltungsoberfläche virt-manager auch für diesen Schritt zu verzichten, könnte eine eigene OpenBSD-ISO Datei mit bereits aktivierter serieller Konsole erstellt werden3.
Einfacher ist es allerdings, die Eingabe von set tty com0
direkt als Tastensequenz an die boot>
Aufforderung der VM zu senden um so das System auf die serielle Konsole umzuschalten:
Maschine auf serielle Konsole umschalten
Verbindung zu serieller Konsole herstellen
Nun kann per Kommandozeile mittels virsh
eine Verbindung hergestellt werden:
In dieser Konsole erhöht man die Baudrate der Verbindung:
Verwendet man eine andere Architektur als i386 kann das Standard-System bereits mittels Befehl bsd.rd
gestartet werden
[Nur i386] Problematische Kernel-Funktionen vorübergehend deaktivieren
Innerhalb der selben Konsole schaltet man nun die entsprechenden Funktionen für den aktuellen Bootvorgang ab:
OpenBSD installieren
Direkt nachdem man an dieser Stelle die Installation von OpenBSD entsprechend der eigenen Anforderungen konfiguriert und installiert hat (Befehl (I)nstall
), wechselt man zurück in die Kommandozeile (Befehl (S)hell
) um anstelle eines direkten Neustarts mit den weiteren Schritten dieser Anleitung fortzufahren.
[Nur i386] Problematische Kernel-Funktionen dauerhaft deaktivieren
Nach wie vor innerhalb der OpenBSD Konsole schaltet man nun die entsprechenden Funktionen im Kernel dauerhaft ab:
Manpages: config, bsd.re-config
Virtuelle CD-ROM auswerfen und VM neu starten
Letztendlich wirft man über das Hostsystem die virtuelle CD-ROM aus und startet das neu installierte OpenBSD-System:
1 https://misc.openbsd.narkive.com/lr1CB95G/very-slow-i-o-under-openbsd-i386-on-qemu-kvm-from-rhel7rc
2 https://www.openbsd.org/faq/faq4.html#Download
3 http://www.weirdnet.nl/openbsd/serial/