summary refs log tree commit diff
path: root/doc/guix.texi
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-07-22 16:57:57 +0200
committerLudovic Courtès <ludo@gnu.org>2014-07-22 16:59:10 +0200
commita69576ea858863574252cbefbcef91db98773d60 (patch)
tree34d35034f906c84d98cc3bbfe6daee743cb5332f /doc/guix.texi
parent7cb9666dd05ba4f039a151c5189a533139f26109 (diff)
downloadguix-a69576ea858863574252cbefbcef91db98773d60.tar.gz
system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'.
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.

* gnu/services/base.scm (udev-service)[requirement]: Add
  'file-system-/dev'.
* gnu/system/file-systems.scm (%devtmpfs-file-system,
  %base-file-systems): New variables.
* gnu/system/install.scm (installation-services)[file-systems]: Use
  %base-file-systems.
* build-aux/hydra/demo-os.scm (file-systems): Likewise.
* doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the
  example.
  (Using the Configuration System): Likewise.
  (File Systems): Document %base-file-systems, %devtmpfs-file-system,
  %binary-format-file-system, and %fuse-control-file-system.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi37
1 files changed, 33 insertions, 4 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index fb6f897bb2..2b05a75be4 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2826,10 +2826,11 @@ only a root account would look like this:
   ;; Assuming /dev/sdX is the target hard disk, and /dev/sdX1 the
   ;; target root file system.
   (bootloader (grub-configuration (device "/dev/sdX")))
-  (file-systems (list (file-system
+  (file-systems (cons (file-system
                         (device "/dev/sdX1")
                         (mount-point "/")
-                        (type "ext4")))))
+                        (type "ext4"))
+                      %base-file-systems)))
 @end example
 
 @noindent
@@ -2925,10 +2926,11 @@ kernel, initial RAM disk, and boot loader looks like this:
   (locale "fr_FR.UTF-8")
   (bootloader (grub-configuration
                 (device "/dev/sda")))
-  (file-systems (list (file-system
+  (file-systems (cons (file-system
                         (device "/dev/sda1") ; or partition label
                         (mount-point "/")
-                        (type "ext3"))))
+                        (type "ext3"))
+                      %base-file-systems))
   (users (list (user-account
                 (name "alice")
                 (password "")
@@ -3055,6 +3057,32 @@ errors before being mounted.
 @end table
 @end deftp
 
+The @code{(gnu system file-systems)} exports the following useful
+variables.
+
+@defvr {Scheme Variable} %base-file-systems
+These are essential file systems that are required on normal systems,
+such as @var{%devtmpfs-file-system} (see below.)  Operating system
+declarations should always contain at least these.
+@end defvr
+
+@defvr {Scheme Variable} %devtmpfs-file-system
+The @code{devtmpfs} file system to be mounted on @file{/dev}.  This is a
+requirement for udev (@pxref{Base Services, @code{udev-service}}).
+@end defvr
+
+@defvr {Scheme Variable} %binary-format-file-system
+The @code{binfmt_misc} file system, which allows handling of arbitrary
+executable file types to be delegated to user space.  This requires the
+@code{binfmt.ko} kernel module to be loaded.
+@end defvr
+
+@defvr {Scheme Variable} %fuse-control-file-system
+The @code{fusectl} file system, which allows unprivileged users to mount
+and unmount user-space FUSE file systems.  This requires the
+@code{fuse.ko} kernel module to be loaded.
+@end defvr
+
 @node User Accounts
 @subsection User Accounts
 
@@ -3245,6 +3273,7 @@ passed to @command{guix-daemon}.
 Run @var{udev}, which populates the @file{/dev} directory dynamically.
 @end deffn
 
+
 @node Networking Services
 @subsubsection Networking Services