summary refs log tree commit diff
path: root/gnu/build
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-07-04 15:26:21 +0200
committerLudovic Courtès <ludo@gnu.org>2018-07-04 15:26:21 +0200
commit42226063f6885f2114bf6d81fede1896d484c3d1 (patch)
tree675e7823913a5085b1fe0f0366a8a57ccba4ab41 /gnu/build
parent0207768fc9149461a010d7bf85cd5460b5d839e9 (diff)
downloadguix-42226063f6885f2114bf6d81fede1896d484c3d1.tar.gz
vm: Disable KVM on i386.
* gnu/build/vm.scm (load-in-linux-vm): Disable KVM on i386.
Diffstat (limited to 'gnu/build')
-rw-r--r--gnu/build/vm.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index abecc8c470..5579886264 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -105,7 +105,13 @@ the #:references-graphs parameter of 'derivation'."
       ;; hardware virtualization to still use these commands.  KVM support is
       ;; still buggy on some ARM32 boards. Do not use it even if available.
       ,@(if (and (file-exists? "/dev/kvm")
-                 (not target-arm32?))
+                 (not target-arm32?)
+
+                 ;; XXX: 32-bit 'qemu-system-i386 -enable-kvm' segfaults on
+                 ;; x86_64 hosts running Linux-libre 4.17:
+                 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31380#18> and
+                 ;; <https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg01166.html>.
+                 (not (string-suffix? "-i386" qemu)))
             '("-enable-kvm")
             '())