diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-09-11 23:39:15 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-09-12 00:14:52 +0200 |
commit | 5dae0186dea1e72e73bf223161620cfeddef5a63 (patch) | |
tree | 7f8d7ef58c4a7eb35c0ae90b12d8e71ec51eabd2 /gnu/system | |
parent | ee7bae3bbd2030d5f2cdb88e484e1c67a063e2a3 (diff) | |
download | guix-5dae0186dea1e72e73bf223161620cfeddef5a63.tar.gz |
system: Add support for Linux-style mapped devices.
* gnu/system/file-systems.scm (<mapped-device>): New record type. * gnu/system.scm (<operating-system>)[mapped-devices]: New field. (luks-device-mapping): New procedure. (other-file-system-services)[device-mappings, requirements]: New procedures. Pass #:requirements to 'file-system-service'. (device-mapping-services): New procedure. (essential-services): Use it. Append its result to the return value. (operating-system-initrd-file): Add comment. * gnu/services/base.scm (file-system-service): Add #:requirements parameter and honor it. (device-mapping-service): New procedure. * gnu/system/linux-initrd.scm (base-initrd): Add comment.
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/file-systems.scm | 21 | ||||
-rw-r--r-- | gnu/system/linux-initrd.scm | 1 |
2 files changed, 21 insertions, 1 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 48c4fc7e77..90e2b0c796 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -37,7 +37,13 @@ %pseudo-terminal-file-system %devtmpfs-file-system - %base-file-systems)) + %base-file-systems + + mapped-device + mapped-device? + mapped-device-source + mapped-device-target + mapped-device-command)) ;;; Commentary: ;;; @@ -128,4 +134,17 @@ %pseudo-terminal-file-system %shared-memory-file-system)) + + +;;; +;;; Mapped devices, for Linux's device-mapper. +;;; + +(define-record-type* <mapped-device> mapped-device + make-mapped-device + mapped-device? + (source mapped-device-source) ;string + (target mapped-device-target) ;string + (command mapped-device-command)) ;source target -> gexp + ;;; file-systems.scm ends here diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index e83a9a5b23..93f751b757 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -131,6 +131,7 @@ initrd code." volatile-root? (extra-modules '()) guile-modules-in-chroot?) + ;; TODO: Support boot-time device mappings. "Return a monadic derivation that builds a generic initrd. FILE-SYSTEMS is a list of file-systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via '--root'. |