summary refs log tree commit diff
path: root/gnu/services
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 /gnu/services
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 'gnu/services')
-rw-r--r--gnu/services/base.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index ae12c8e93d..42e232c9ac 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -473,8 +473,13 @@ passed to @command{guix-daemon}."
   (with-monad %store-monad
     (return (service
              (provision '(udev))
-             (requirement '(root-file-system))
-             (documentation "Populate the /dev directory.")
+
+             ;; Udev needs /dev to be a 'devtmpfs' mount so that new device
+             ;; nodes can be added: see
+             ;; <http://www.linuxfromscratch.org/lfs/view/development/chapter07/udev.html>.
+             (requirement '(root-file-system file-system-/dev))
+
+             (documentation "Populate the /dev directory, dynamically.")
              (start #~(lambda ()
                         (define udevd
                           (string-append #$udev "/libexec/udev/udevd"))