On 13/11/2019 14.49, Alex Bennée wrote: > > Thomas Huth <thuth@xxxxxxxxxx> writes: > >> Travis nowadays supports KVM in their CI pipelines, so we can finally >> run the kvm-unit-tests with KVM instead of TCG here. Unfortunately, there >> are some quirks: First, the QEMU binary has to be running as root, otherwise >> you get an "permission denied" error here - even if you fix up the access >> permissions to /dev/kvm first. > > Could it be another resource it's trying to access? I did some more tests with strace and some "ls -l /dev/kvm" spread around the scripts, and it seems like the permissions get reset on Debian when a process tries to open /dev/kvm ? I.e. after doing a "chmod", I correctly see: crw-rw-rw- 1 root kvm 10, 232 Nov 13 15:03 /dev/kvm ... but after the run script tried to launch qemu, it's back to: crw-rw---- 1 root kvm 10, 232 Nov 13 15:03 /dev/kvm I assume some udev magic is enforcing this? So it's as Paolo said in his mail, you need to be root or in the kvm group to be able to use KVM on Debian / Ubuntu. Unfortunately a simple "usermod -a -G kvm $USER" also does not seem to work here, since you need a new login shell to take the change into account ... well, I could then run the run_test.sh script through "sudo -E su $USER -c ..." [1] but that's ugly too. But instead of doing "chmod u+s ...", this seems to be working, too: sudo chgrp kvm /usr/bin/qemu-system-* sudo chmod g+s /usr/bin/qemu-system-* ... which sounds like the least ugliest hack to me currently, so I think I'll go with that version. Thomas [1] That's also what Travis suggests here: https://docs.travis-ci.com/user/reference/trusty/#group-membership