Wie sende ich ein Shutdown-Ereignis an einen QEMU-Gast (OpenBSD)?

15

Ich verwende die Virtualisierung nur, um OpenBSD auf der nackten Hardware zu installieren. Während der Installation wurde die Umleitung auf die serielle Schnittstelle nicht konfiguriert. Daher lief das System, aber ich konnte mich nicht anmelden und eine Bereinigung durchführen Herunterfahren.

kvm -m 6144 -smp 4 -drive file=/dev/sda,if=ide \
    -drive file=/dev/sdb,if=scsi -drive file=/dev/sdc,if=scsi \
    -cdrom install52.iso -boot d -nographic

Wie kann ich ein Abschaltereignis an diese Sitzung senden? AFAIK, Ctrl- a xwie hier gezeigt oder pkill kvmwürde noch keinen sauberen Shutdown machen.

Wie kann ich alternativ vom -nographicModus in den -cursesModus wechseln?

cnst
quelle

Antworten:

6

libvirtweiß, wie man damit umgeht. Wenn es Ihnen nichts ausmacht, libvirtdund zu installieren virsh, können Sie Folgendes verwenden:

virsh list

um die Namen der Gäste anzuzeigen. guest_001Verwenden Sie den folgenden Befehl , um den Gast mit dem Namen ordnungsgemäß herunterzufahren :

virsh shutdown guest_001
Angel Genchev
quelle
5

Vielleicht Ctrl- a cund system_powerdown?

Soll funktionieren, obwohl es in meinem Fall nicht zu funktionieren schien; Vielleicht interagieren OpenBSD und QEMU ACPI nicht gut genug.

cnst
quelle
5

Grundsätzlich gilt: Wenn Sie "system_powerdown" an den QEMU-Monitor senden (siehe andere Antworten), wird das Gastbetriebssystem ausgeschaltet (wie wenn Sie den Netzschalter gedrückt haben). Sie setzen müssen powerdown=YESin /etc/rc.shutdownherunterzufahren wirklich die Maschine vollständig.

Leider friert in meinem aktuellen Setup hier die VM beim Empfang eines powerdownEreignisses ein, obwohl dies für echte Hardwaremaschinen recht gut funktioniert . (Dies ist mit QEMU-KVM 1.1.2 on Debian Wheezy/amd64 and OpenBSD 5.5 amd64 GENERIC.SP) Sie können also stattdessen ein shutdown -h nowoder halt -pan die (OpenBSD) -Konsole senden .

user81513
quelle
0

qemu sendet ein acpi-Ereignis zum Herunterfahren an die VM. Wenn es diesen Aufruf nicht interpretieren kann, wird es nicht heruntergefahren. Unter Linux bedeutet dies, dass Sie acpid benötigen, da für BSD vermutlich etwas Ähnliches vorhanden sein muss

dyasny
quelle
Gibt es keine Optionen zum Senden von Nicht-ACPI-Abschaltereignissen an das Gastbetriebssystem?
8.
definiere "non acpi shutdown event"
dyasny
1
Ctrl-Alt-Del, APM etc.
cnst
1
keines davon ist eine Abschaltung. Systemstopp ohne Ausschalten und Neustart werden nicht heruntergefahren. Vielleicht Alt + SysRQ + o Willen Arbeit (es ist APM, so dass ich mit kündigen die VM zweifeln , nachdem alles zu stoppen, aber ...) die Tastenkombination kann über den Qemu-Monitor SendKey Routine gesendet werden
dyasny
Wie sende ich diese im Handumdrehen? Es ist mir egal, was die VM macht; Es ist nur wichtig, dass der Gast eines davon erhält und eine Synchronisierung mit der richtigen Anzahl und dem richtigen Material durchführt.
10.