summary refs log tree commit diff
path: root/gnu/system/linux-initrd.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-07-13 23:43:00 +0200
committerLudovic Courtès <ludo@gnu.org>2014-07-13 23:43:00 +0200
commitfa16f84502d769dc04f80ec4598df3d4cbd176c1 (patch)
treef791d0e7850bbfb8a07c70d38573a9edce385521 /gnu/system/linux-initrd.scm
parent3485716fd9aba9f6c3b286c51d08285445e1e247 (diff)
downloadguix-fa16f84502d769dc04f80ec4598df3d4cbd176c1.tar.gz
linux-initrd: Allow extra modules to be passed to 'base-initrd'.
* gnu/system/linux-initrd.scm (base-initrd): Add #:extra-modules
  parameter.
Diffstat (limited to 'gnu/system/linux-initrd.scm')
-rw-r--r--gnu/system/linux-initrd.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 99df8cd185..afbfc692d3 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -206,6 +206,7 @@ initrd code."
                       qemu-networking?
                       virtio?
                       volatile-root?
+                      (extra-modules '())
                       guile-modules-in-chroot?)
   "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
@@ -218,6 +219,11 @@ be used as a QEMU guest with para-virtualized I/O drivers.
 When VOLATILE-ROOT? is true, the root file system is writable but any changes
 to it are lost.
 
+The initrd is automatically populated with all the kernel modules necessary
+for FILE-SYSTEMS and for the given options.  However, additional kernel
+modules can be listed in EXTRA-MODULES.  They will be added to the initrd, and
+loaded at boot time in the order in which they appear.
+
 When GUILE-MODULES-IN-CHROOT? is true, make core Guile modules available in
 the new root.  This is necessary is the file specified as '--load' needs
 access to these modules (which is the case if it wants to even just print an
@@ -252,7 +258,8 @@ exception and backtrace!)."
             '())
       ,@(if volatile-root?
             '("fuse.ko")
-            '())))
+            '())
+      ,@extra-modules))
 
   (define helper-packages
     ;; Packages to be copied on the initrd.