summary refs log tree commit diff
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.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