Virt-Manager is an awesome front end for running QEMU VMs on top of KVM. This is a great alternative to VirutalBox and since the latest version of Virtualbox has been moved to the “contrib” section in Debian (due to a non-free compiler that is required to builds the BIOS) it is one of the only 100% free software GUIs for managing virtual machines.
To get virt-manager working debian you will need the following:
apt-get install qemu-kvm libvirt-bin virt-manager
Even though the [Debian Doc] states that adding your user to the kvm and libvirt groups will allow you to create Virtual Machines, when you try to do so you may be confrtonted with an error message that reads:
Could not access KVM kernel module: Permission denied failed to initialize KVM: Permission denied
This makes this application fairly useless so lets get this fixed. The problem is that libvirtd starts qemu with whichever
user:group is defined in
/etc/libvirtr/qemu.conf 1 by default this is nobody so this is why the error message occurs. In order to fix this, edit this file and add your username and group to this file.
The file should end up looking something like this:
# The user for QEMU processes run by the system instance. It can be 215 # specified as a user name or as a user id. The qemu driver will try to 216 # parse this value first as a name and then, if the name doesn't exist, 217 # as a user id. 218 # 219 # Since a sequence of digits is a valid user name, a leading plus sign 220 # can be used to ensure that a user id will not be interpreted as a user 221 # name. 222 # 223 # Some examples of valid values are: 224 # 225 # user = "qemu" # A user named "qemu" 226 # user = "+0" # Super user (uid=0) 227 # user = "100" # A user named "100" or a user with uid=100 228 # 229 #user = "root" 230 user = "username" 231 # The group for QEMU processes run by the system instance. It can be 232 # specified in a similar way to user. 233 #group = "root" 234 group = "groupname"
After this, restart the libvirtd service and you will be able to create virtual machines with virt-manager.
systemctl restart libvirtd.service
If you made it this far, you should probably follow me on twitter. 🙂 Follow @levlaz