I have created a VM with virt-install, using as install media a Ubuntu 14.04.01 LTS server ISO. During the installation phase I was connected to the VM via the graphical console.
Now I have the VM running: I can ssh to it, and it is otherwise working fine. I can follow the boot process, with:
virsh console my-vm
But I am unable to see the login prompt. How can I access the login prompts with are normally allocated via the PTYs?
Best Answer
It is possible to access a KVM Guest directly using the Serial Console interface, in which case setting up bridged networking, SSH, and similar is not necessary. Access via the Serial Console provides an alternate way of accessing your servers to compliment or replace the default VNC access.
This is done using the
virsh
utility which is a shell interface for libvirt.virsh ttyconsole my_vm
If the output is shown(e.g. /dev/pts/41), it indicates the Guest has a console device already.Otherwise, define one with virsh edit. Here is an example to be added inside
<device></device>
. Refer to libvirt XML format for details.This is the configuration method for (guest) Ubuntu 9.10 (Karmic) and later versions.
sudo editor /etc/init/ttyS0.conf
Add the configuration:
sudo start ttyS0
Here we are using "xterm" as the terminal type, which works well if we are connecting using a gnome-terminal (or xterm) instance. It is likely preferable to set this to match the terminal type which will be used to connect. This can be found using this command in the host/client terminal you will be using to connect:
echo $TERM
For example, if you are running screen it is "screen", for byobu "screen-bce", etc.
You can also set the variable temporarily when you are already connected to the console:
export TERM=screen
First we connect to the (local) qemu session:
virsh -c qemu:///session
(this is optional, and if you prefer not to use a virsh console, you can simply prepend commands withvirsh
in bash. I.e.virsh start my_vm
,virsh console my_vm
etc)Now in the virsh shell, start the virtual machine:
start my_vm
When it has started connect to the console:
console my_vm
Press Return to get the login prompt, and login as usual (note that username input works even if the login promt is not shown).
You're in!
Misc notes
Use
Ctrl + ]
to exit the console.If the console acts strangely or displays incorrectly, check that the TERM variable is set correctly (see above).
If the terminal seems to cut off the top of the output, change it to have 80x24 of viewing area, e.g. in byobu this means you will need to account for the statusbar and have the window itself at 80x26
The set of instructions has been shamelessly copied with minor adjustments from https://help.ubuntu.com/community/KVM/Access