A.6. Troubleshooting with Serial Consoles

Linux kernels can output information to serial ports. This is useful for debugging kernel panics and hardware issues with video devices or headless servers. The subsections in this section cover setting up serial console output for host physical machines using the KVM hypervisor.
This section covers how to enable serial console output for fully virtualized guests.
Fully virtualized guest serial console output can be viewed with the virsh console command.
Be aware fully virtualized guest serial consoles have some limitations. Present limitations include:
  • output data may be dropped or scrambled.
The serial port is called ttyS0 on Linux .
You must configure the virtualized operating system to output information to the virtual serial port.
To output kernel information from a fully virtualized Linux guest into the domain, modify the /etc/default/grub file. Append the following to the kernel line: console=tty0 console=ttyS0,115200.
title Red Hat Enterprise Linux Server (2.6.32-36.x86-64)
  root (hd0,0)
  kernel /vmlinuz-2.6.32-36.x86-64 ro root=/dev/volgroup00/logvol00 \
  console=tty0 console=ttyS0,115200
  initrd /initrd-2.6.32-36.x86-64.img
enter the following command in the guest:
# grub2-mkconfig -o /etc/grub2.cfg

Note

If you are using a UEFI-based host, the target file should be /etc/grub2-efi.cfg.
Reboot the guest.
On the host, access the serial console with the following command, where GUEST is the name of the guest virtual machine:
# virsh console GUEST
You can also use virt-manager to display the virtual text console. In the guest console window, select Serial 1 in Text Consoles from the View menu.