aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorraid5atemyhomework <raid5atemyhomework@protonmail.com>2021-03-22 11:23:32 +0800
committerDanny Milosavljevic <dannym@scratchpost.org>2021-05-11 16:13:48 +0200
commita3df382525ac515d1aa083f7f5bd3bd31eb1df40 (patch)
treeceaa4eaf3a5c2d2a85e64ca83b7d23a9e9d306ed /doc
parentbddad00bffc5837e89942756fa5b7234f63f1f47 (diff)
downloadguix-a3df382525ac515d1aa083f7f5bd3bd31eb1df40.tar
guix-a3df382525ac515d1aa083f7f5bd3bd31eb1df40.tar.gz
gnu: Allow services to install kernel-loadable modules.
* gnu/system.scm (operating-system-directory-base-entries): Remove code to handle generation of "kernel" for linux-libre kernels. (operating-system-default-essential-services): Instantiate linux-builder-service-type. (package-for-kernel): Move ... * gnu/services.scm: ... to here. (linux-builder-service-type): New variable. (linux-builder-configuration): New type. (linux-loadable-module-service-type): New variable. * gnu/tests/linux-modules.scm (run-loadable-kernel-modules-test): Move code to ... (run-loadable-kernel-modules-test-base): ... new procedure here. (run-loadable-kernel-modules-service-test): New procedure. (%test-loadable-kernel-modules-service-0): New variable. (%test-loadable-kernel-modules-service-1): New variable. (%test-loadable-kernel-modules-service-2): New variable. * doc/guix.texi: Document linux-loadable-module-service-type. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 0947b9f028..c39cc4a6bd 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34280,6 +34280,28 @@ configuration when you use @command{guix system reconfigure},
@command{guix system init}, or @command{guix deploy}.
@end defvr
+@defvr {Scheme Variable} linux-loadable-module-service-type
+Type of the service that collects lists of packages containing
+kernel-loadable modules, and adds them to the set of kernel-loadable
+modules.
+
+This service type is intended to be extended by other service types,
+such as below:
+
+@lisp
+(define module-installing-service-type
+ (service-type
+ (name 'module-installing-service)
+ (extensions (list (service-extension linux-loadable-module-service-type
+ (const (list module-to-install-1
+ module-to-install-2)))))
+ (default-value #f)))
+@end lisp
+
+This does not actually load modules at bootup, only adds it to the
+kernel profile so that it @emph{can} be loaded by other means.
+@end defvr
+
@node Shepherd Services
@subsection Shepherd Services