25

I am trying to kickstart a newly built VM. I am stuck with the following. Want to start with a console so that I can include username and other info for this VM:

   @vmhost02 ~]$ sudo virsh start --console testengine
   Domain testengine started
   Connected to domain testengine
   Escape character is ^]

It hangs up in there and doesn't listen to any keys except "^]"

Let me know if you need more information for any ideas...

Thanks very much.

Kara
  • 6,115
  • 16
  • 50
  • 57
iamauser
  • 11,119
  • 5
  • 34
  • 52

3 Answers3

8

1)

You can try to edit /etc/default/grub in the guest, and make sure you have:

GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"

Then execute:

# update-grub
# reboot

2)

If that does not work, try to replace quiet with console=ttyS0 in GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="... console=ttyS0"

Then again:

# update-grub
# reboot

3)

You may still need to try:

# systemctl enable serial-getty@ttyS0.service
# systemctl start serial-getty@ttyS0.service
# reboot
Peque
  • 13,638
  • 11
  • 69
  • 105
6

You would need to define a tty to be used as a virtual console. In case you have access to your vm either using vnc or ssh create the following file

vi /etc/init/ttyS0.conf

The content should be something like

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 38400 ttyS0 vt102  # This is your term type vt102

Save these settings and subsequently from your host machine

 virsh destroy [vm-name]; service libvirtd stop; service libvirtd start; virsh start [vm-name]

I'm doing here a stop/start of libvirt, because it sometimes tend to not send a SIGTERM to libvirt.

Finally try

 virsh console [vm-name]
Valentin Bajrami
  • 229
  • 2
  • 14
1

May be simpler than the solution of val0x00ff, you shall add the console=ttyS0 at the end of the kernel lines in the /boot/grub2/grub.cfg file of the VM (this is not done by default it seems):

   (vm)$> grubby --update-kernel=ALL --args="console=ttyS0"
   (vm)$> reboot

Then virsh console shall work as expected.

Sebastien Varrette
  • 3,876
  • 1
  • 24
  • 21
  • This did the job for me, albeit I edited `/boot/grub2/grub.cfg` by hand to append the kernel parameter (editing `grub.cfg` is a non-permanent solution, I know, the file is generated). – Ned64 Jul 02 '16 at 09:14