summaryrefslogtreecommitdiff
path: root/gnu/system
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
parent3485716fd9aba9f6c3b286c51d08285445e1e247 (diff)
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')
-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.