summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-14 23:17:03 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-14 23:17:03 +0200
commit2717a89a84f9af72f1e0d32d96e192ea088a5124 (patch)
tree7cc384427206d632d585b219c8c2ba19fd31e52c
parent1eeccc2f31c0b0f8c600cb181f19fda1d90551a6 (diff)
downloadguix-2717a89a84f9af72f1e0d32d96e192ea088a5124.tar.gz
system: Provide declarations for the 'fusectl' and 'binfmt_misc' file systems.
* gnu/system.scm (%fuse-control-file-system,
  %binary-format-file-system): New variables.
* build-aux/hydra/demo-os.scm (file-systems): New field.
-rw-r--r--build-aux/hydra/demo-os.scm5
-rw-r--r--gnu/system.scm26
2 files changed, 30 insertions, 1 deletions
diff --git a/build-aux/hydra/demo-os.scm b/build-aux/hydra/demo-os.scm
index 4116c063f4..fd14bfc7e4 100644
--- a/build-aux/hydra/demo-os.scm
+++ b/build-aux/hydra/demo-os.scm
@@ -43,6 +43,11 @@
  (host-name "gnu")
  (timezone "Europe/Paris")
  (locale "en_US.UTF-8")
+ (file-systems
+  ;; We don't provide a file system for /, but that's OK because the VM build
+  ;; code will automatically declare the / file system for us.
+  (list %fuse-control-file-system
+        %binary-format-file-system))
  (users (list (user-account
                (name "guest")
                (group "wheel")
diff --git a/gnu/system.scm b/gnu/system.scm
index f78df7ce19..9ce94d0230 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -64,7 +64,10 @@
             file-system-type
             file-system-needed-for-boot?
             file-system-flags
-            file-system-options))
+            file-system-options
+
+            %fuse-control-file-system
+            %binary-format-file-system))
 
 ;;; Commentary:
 ;;;
@@ -126,6 +129,11 @@
   (sudoers operating-system-sudoers               ; /etc/sudoers contents
            (default %sudoers-specification)))
 
+
+;;;
+;;; File systems.
+;;;
+
 ;; File system declaration.
 (define-record-type* <file-system> file-system
   make-file-system
@@ -142,6 +150,22 @@
   (check?           file-system-check?            ; Boolean
                     (default #t)))
 
+(define %fuse-control-file-system
+  ;; Control file system for Linux' file systems in user-space (FUSE).
+  (file-system
+    (device "fusectl")
+    (mount-point "/sys/fs/fuse/connections")
+    (type "fusectl")
+    (check? #f)))
+
+(define %binary-format-file-system
+  ;; Support for arbitrary executable binary format.
+  (file-system
+    (device "binfmt_misc")
+    (mount-point "/proc/sys/fs/binfmt_misc")
+    (type "binfmt_misc")
+    (check? #f)))
+
 
 ;;;
 ;;; Derivation.