summary refs log tree commit diff
path: root/gnu/system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-04 00:30:39 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-04 00:30:39 +0200
commit3c05b4bc2528ea64b259477bf58dbcc6a7739f78 (patch)
tree61c374472fd7926f09734b41d216a6a08b405122 /gnu/system.scm
parentad896f23a5fac38294e7515587c0c5bda02e9a59 (diff)
downloadguix-3c05b4bc2528ea64b259477bf58dbcc6a7739f78.tar.gz
linux-initrd: Check the root and other early file systems.
* gnu/system.scm (operating-system-derivation)[boot-file-systems]: Keep "/".
* gnu/system/linux-initrd.scm (file-system->spec): Keep the 'check?'
  flag.
  (qemu-initrd)[helper-packages]: New variable.  Pass it as #:to-copy.
  <gexp>: Add 'set-path-environment-variable' call.  Remove #:unionfs
  argument for 'boot-system'.
* gnu/system/vm.scm (%linux-vm-file-systems): Add 'check?' field/
  (virtualized-operating-system): Likewise for the "9p" file system.
* guix/build/linux-initrd.scm (mount-root-file-system): Change #:unionfs
  default.  Call 'check-file-system' before mounting ROOT, when
  VOLATILE-ROOT? is false.
  (check-file-system): New procedure.
  (mount-file-system): Honor 'check?' element in list; add
  'check-file-system' call.
  (boot-system): Remove #:root-fs-type and #:unionfs parameters.
  [root-mount-point?, root-fs-type]: New variables.
  Call 'mount-file-system' on all MOUNTS but "/".
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 7624b10ae4..65d1ca3418 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -349,8 +349,10 @@ we're running in the final root."
   "Return a derivation that builds OS."
   (define boot-file-systems
     (filter (match-lambda
-             (($ <file-system> device mount-point type _ _ boot?)
-              (and boot? (not (string=? mount-point "/")))))
+             (($ <file-system> device "/")
+              #t)
+             (($ <file-system> device mount-point type flags options boot?)
+              boot?))
             (operating-system-file-systems os)))
 
   (mlet* %store-monad