existing disk image


$ virt-install \
  --connect=qemu:///system \
  -n centos64 \
  -r 1024 \
  --description="CentOS 6.4" \
  --os-type=linux \
  --disk path=./centos64.qcow2,format=qcow2,bus=virtio \
  --import \
  --nographics \
  --cpu=host

# virt-edit centos64 /boot/grub/grub.conf


add 


console=ttyS0


How to connect:


$ virsh -c qemu:///system console centos64
Connected to domain centos64
Escape character is ^]
 
CentOS release 6.4 (Final)
Kernel 2.6.32-358.el6.x86_64 on an x86_64
 
centos64 login: 
 
ctrl+]
$

another way !


$ virsh -c qemu:///system dumpxml centos64 | grep console
    <console type='pty' tty='/dev/pts/5'>
    </console>
 
sudo minicom -p /dev/pts/5

The debian way


with the above in place, uncomment also this:


T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100


qemu syslinux serial


syslinux


LABEL arch
    MENU LABEL ArchLinux
    LINUX ../vmlinuz-linux
    APPEND root=/dev/vda1 rw nomodeset
    INITRD ../initramfs-linux.img
    serial 0


systemd


systemctl start serial-getty@ttyS0.service

&&

cp /usr/lib/systemd/system/serial-getty\@.service getty\@ttyS0.service


qemu


qemu-system-x86_64 -drive file=archlinux.qed,if=virtio -serial stdio -display none

Centos 7

Add serial console device


$ virsh -c qemu:///system edit centos7


    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>

Edit grub.conf


console=ttyS0,115200


(if you have libguestfs)


$ virt-edit centos7 /boot/grub2/grub.cfg


eg.

linux16 /boot/vmlinuz-3.10.0-514.el7.x86_64 root=UUID=63bda94a-8c1d-4d66-95c5-1525b7cdb8da ro rhgb quiet LANG=en_US.UTF-8 console=ttyS0,115200

Connect to Console


$  virsh --connect qemu:///system console centos7