aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Marusich <cmmarusich@gmail.com>2018-03-15 05:09:12 +0100
committerChris Marusich <cmmarusich@gmail.com>2018-03-24 03:04:10 +0100
commit8c9bf2946a1cb58c5b7b941db3a37830ece80708 (patch)
tree8b735f4a40acdd5e08cdf8afec2b369ed28be4a7
parentaf81311b8c7712db207927c8e7b8ed66602be5c7 (diff)
downloadguix-8c9bf2946a1cb58c5b7b941db3a37830ece80708.tar
guix-8c9bf2946a1cb58c5b7b941db3a37830ece80708.tar.gz
gnu: When building in a VM, share a temporary directory.
* gnu/build/vm.scm (load-in-linux-vm): Make a shared temporary directory available in the VM. * gnu/system/vm.scm (%linux-vm-file-systems): Add a corresponding entry.
-rw-r--r--gnu/build/vm.scm7
-rw-r--r--gnu/system/vm.scm12
2 files changed, 17 insertions, 2 deletions
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 4268ad1111..527b4c495d 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -126,6 +126,7 @@ the #:references-graphs parameter of 'derivation'."
(number->string disk-image-size)))
(mkdir "xchg")
+ (mkdir "tmp")
(match references-graphs
((graph-files ...)
@@ -146,6 +147,12 @@ the #:references-graphs parameter of 'derivation'."
"-virtfs"
(string-append "local,id=xchg_dev,path=xchg"
",security_model=none,mount_tag=xchg")
+ "-virtfs"
+ ;; Some programs require more space in /tmp than is normally
+ ;; available in the guest. Accommodate such programs by sharing a
+ ;; temporary directory.
+ (string-append "local,id=tmp_dev,path=tmp"
+ ",security_model=none,mount_tag=tmp")
"-kernel" linux
"-initrd" initrd
(append
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 594ba66ff4..9d9eafc094 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -87,8 +88,8 @@
;;; Code:
(define %linux-vm-file-systems
- ;; File systems mounted for 'derivation-in-linux-vm'. The store and /xchg
- ;; directory are shared with the host over 9p.
+ ;; File systems mounted for 'derivation-in-linux-vm'. These are shared with
+ ;; the host over 9p.
(list (file-system
(mount-point (%store-prefix))
(device "store")
@@ -102,6 +103,13 @@
(type "9p")
(needed-for-boot? #t)
(options "trans=virtio")
+ (check? #f))
+ (file-system
+ (mount-point "/tmp")
+ (device "tmp")
+ (type "9p")
+ (needed-for-boot? #t)
+ (options "trans=virtio")
(check? #f))))
(define* (expression->derivation-in-linux-vm name exp