diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2016-02-22 11:23:14 -0800 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2016-02-22 13:28:58 -0800 |
commit | 944d2b17b50b6e1890817d4724ed101bc2c4b0ef (patch) | |
tree | 543500c438d420451a6a7fc8bc6b7b4ff68d80be /gnu/build/vm.scm | |
parent | 8b16a5e1996bd9ec66915f84beaac6d34cb0f353 (diff) | |
download | gnu-guix-944d2b17b50b6e1890817d4724ed101bc2c4b0ef.tar gnu-guix-944d2b17b50b6e1890817d4724ed101bc2c4b0ef.tar.gz |
vm: Only pass "-enable-kvm" to qemu if /dev/kvm is present.
Fixes <http://bugs.gnu.org/22633>.
* gnu/build/vm.scm (load-in-linux-vm): Only pass "-enable-kvm" flag to qemu
if "/dev/kvm" is present.
* gnu/system/vm.scm (common-kvm-options): Same as above.
Diffstat (limited to 'gnu/build/vm.scm')
-rw-r--r-- | gnu/build/vm.scm | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index a095f9de8a..48e701adbe 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,7 +99,7 @@ the #:references-graphs parameter of 'derivation'." (_ #f)) (unless (zero? - (apply system* qemu "-enable-kvm" "-nographic" "-no-reboot" + (apply system* qemu "-nographic" "-no-reboot" "-m" (number->string memory-size) "-net" "nic,model=virtio" "-virtfs" @@ -111,10 +113,17 @@ the #:references-graphs parameter of 'derivation'." "-initrd" initrd "-append" (string-append "console=ttyS0 --load=" builder) - (if make-disk-image? - `("-drive" ,(string-append "file=" image-file - ",if=virtio")) - '()))) + (append + (if make-disk-image? + `("-drive" ,(string-append "file=" image-file + ",if=virtio")) + '()) + ;; Only enable kvm if we see /dev/kvm exists. + ;; This allows users without hardware virtualization to still + ;; use these commands. + (if (file-exists? "/dev/kvm") + '("-enable-kvm") + '())))) (error "qemu failed" qemu)) (if make-disk-image? |