Table of Contents

Enable text console for your virtual guests

Edited to work with RHEL9 / Rocky Linux 9

By default RHEL / CentOS sets your virtual guests up for graphical VNC / Spice console which is a definate must in many situations but old covenant guys like me prefer the text console access so here is my notes for setting it up especially for Red Hat Enterprise Linux 9 / Rocky Linux 9 but also applies to other distros with systemd.

First start your guest and access it with virt-manager or equivalent.

Checks

See if the guest /etc/default/grub has “console=ttyS0” in GRUBCMDLINELINUX. This should be here. If not keep on reading.

Guest configuration

On the guest issue following commands:

grubby --update-kernel=ALL --args="console=ttyS0"
grub2-editenv - unset kernelopts
reboot

If you wish to include the grub boot menu as well then add the following to /etc/default/grub:

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

and update grub with command

grub2-mkconfig -o /boot/grub2/grub.cfg

This will update grub with kernel arguments to enable text console to the serial port which should be enabled by default in your virtual guest.

Now reboot the guest and try accessing the console with

virsh console <guest name>

If the console is not working then check your guest configuration in your host (not guest!) with command

virsh dumpxml <guest name>

And look for entry such as this (replace NN with a random number between 0 and 12)

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

If not then add it by editing configuration with

virsh edit <guest name>

Reboot guest and try.

~~DISCUSSION|Leave a comment~~ ~~QUICKSTATS:@virshconsolecentos7&basics~~ ~~QUICKSTATS:@virshconsolecentos7&ip~~