Jaki powód może uniemożliwić wyjście konsoli z „virsh -c qemu: /// system console guest1”?

9

Używam KVM na hoście Ubuntu 10.04. System operacyjny gościa to także Ubuntu 10.04.

Próbuję połączyć się z gościem za pomocą polecenia „console”. Wygląda na to, że mogę nawiązać połączenie, ale nie otrzymuję danych wyjściowych.

$ sudo virsh -c qemu:///system console guest1
Connected to domain guest1
Escape character is ^]
(NOTHING HERE)
^]
$

Nie mam skonfigurowanego urządzenia „szeregowego”, ale mam te urządzenia „konsolowe”.

<console type='pty' tty='/dev/pts/2'>
  <source path='/dev/pts/2'/>
  <target port='0'/>
</console>
<console type='pty' tty='/dev/pts/2'>
  <source path='/dev/pts/2'/>
  <target port='0'/>
</console>

Czy są one wystarczające na konsolę, czy też potrzebuję również urządzenia szeregowego?

Co muszę zrobić, aby konsola KVM działała?

Stefan Lasiewski
źródło

Odpowiedzi:

7

Jestem pewien, że musisz skonfigurować gościa, aby używał konsoli szeregowej. Aby to zadziałało, potrzebujesz trzech rzeczy:

  1. dać gościowi wirtualne urządzenie szeregowe typu pty(na przykład poprzez dodanie jednego na virt-managerstronie informacyjnej vm)

  2. powiedzieć jądra w obsłudze, że na jego wyjściu, dodając parametr bootowania jak serial=tty0 console=ttyS0,115200n8się GRUB_CMDLINE_LINUXw /etc/default/grub; następnie uruchomićsudo update-grub

  3. (opcjonalnie) umieść getty na ttyS0 , aby otrzymać monit o zalogowanie

Więcej informacji można znaleźć na stronie http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507650 .

poolie
źródło
1
Aby dodać getty do ttyS0, postępowałem zgodnie z instrukcjami tutaj: ubuntuforums.org/showpost.php?p=9610421&postcount=7
Stefan Lasiewski
1

Jedną z możliwości jest to, że twoja maszyna wirtualna nie ma skonfigurowanej konsoli szeregowej.

virsh dumpxml guest1

pokaże, czy skonfigurowano konsolę szeregową, czy nie. Powinno być coś podobnego do

<serial type='pty'>
<target port='0'/>
</serial>
txwikinger
źródło
Dzięki @txwikinger. Zaktualizowałem moje pytanie z pewnymi danymi wyjściowymi z virsh dumpxml. Nie widzę urządzenia szeregowego, ale widzę niektóre urządzenia konsoli. Czy wiesz, czy to wystarczy?
Stefan Lasiewski,
1

Właśnie na to wpadłem.

Oto, co mam w konfiguracji XML na hoście (z uruchomionym KVM):

<serial type='pty'>
  <source path='/dev/pts/0'/>
  <target port='0'/>
</serial>
<console type='pty' tty='/dev/pts/0'>
  <source path='/dev/pts/0'/>
  <target port='0'/>
</console>

Musiałem także dodać następujący plik do pliku /etc/default/grub.conf na maszynie wirtualnej (dodaj do polecenia „kernel”):

kernel ..... serial=tty0 console=ttyS0,115200n8

Wreszcie zabezpieczyłem ttyS0, dodając „/ etc / securetty”, aby umożliwić logowanie roota z tego miejsca

vi /etc/securetty
ttyS0

Być może będziesz musiał zrzucić swoje ustawienia getty (jak opisano w drugiej odpowiedzi)

Mam nadzieję że to pomoże

shreddd
źródło