Jak wysłać zdarzenie zamknięcia do gościa QEMU (OpenBSD)?


15

Korzystam z wirtualizacji wyłącznie do instalacji OpenBSD na gołym sprzęcie, a podczas instalacji przekierowanie do portu szeregowego nie zostało skonfigurowane, więc skończyło się na tym, że system jest uruchomiony, ale nie ma sposobu, aby się zalogować i zrobić czysty zamknąć.

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

Jak mogę wysłać zdarzenie zamknięcia do tej sesji? AFAIK, Ctrl- a xjak pokazano tutaj lub pkill kvmjeszcze nie zrobiłby czystego wyłączenia.

Alternatywnie, jak mogę przejść z -nographictrybu do -cursestrybu?

Odpowiedzi:


6

Być może Ctrl- a ci system_powerdown?

Podobny do pracy, chociaż w moim przypadku nie zadziałał; być może OpenBSD i QEMU ACPI nie współdziałają wystarczająco dobrze.


6

libvirtwie jak sobie z tym poradzić. Jeśli nie masz nic przeciwko instalacji libvirtdi virsh, możesz użyć:

virsh list

aby wyświetlić imię (imiona) gościa (gości). Aby z wdziękiem zamknąć gościa o imieniu guest_001, użyj polecenia:

virsh shutdown guest_001

5

Zasadniczo: wysłanie „system_powerdown” do monitora QEMU (zobacz inne odpowiedzi) zasygnalizuje, że system operacyjny gościa wyłączy się (tak jak po naciśnięciu przycisku zasilania). Trzeba będzie ustawić powerdown=YESw /etc/rc.shutdownnaprawdę wyłączyć maszynę całkowicie.

Niestety, w mojej obecnej konfiguracji, chociaż działa to całkiem dobrze na prawdziwych maszynach sprzętowych, zawieszanie się maszyny wirtualnej po otrzymaniu powerdownzdarzenia. (To jest z QEMU-KVM 1.1.2 on Debian Wheezy/amd64 and OpenBSD 5.5 amd64 GENERIC.SP) Więc możesz zamiast tego wysłać konsolę shutdown -h nowlub halt -pdo konsoli (OpenBSD).


0

qemu wysyła zdarzenie zamknięcia acpi do maszyny wirtualnej, jeśli nie może zinterpretować tego wywołania, nie zamknie się. W Linuksie oznacza to, że potrzebujesz acpid, tak jak w przypadku BSD, przypuszczam, że coś podobnego musi istnieć


Czy nie ma opcji wysyłania zdarzeń zamknięcia innych niż ACPI do systemu-gościa?
cnst

zdefiniuj „zdarzenie zamknięcia non acpi”
dyasny,

1
Ctrl-Alt-Del, APM itp.
cnst

1
żadne z nich nie jest zamknięciem. zatrzymanie systemu bez wyłączenia zasilania i ponowne uruchomienie nie są zamykane. Może Alt + SysRQ + o zadziała (to APM, więc wątpię, aby maszyna wirtualna zakończyła działanie po zatrzymaniu wszystkiego, ale ...) kombinację klawiszy można wysłać za pomocą procedury wysyłania qemu-monitor
dyasny

Jak wysłać któreś z nich w mgnieniu oka? Nie obchodzi mnie, co robi VM; ważne jest tylko to, że gość otrzyma jeden z nich i wykona synchronizację z odpowiednim umountem i innymi rzeczami.
cnst
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.