1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-25 18:41:54 +02:00

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>
This commit is contained in:
raid5atemyhomework
2021-03-22 11:23:32 +08:00
committed by Danny Milosavljevic
parent bddad00bff
commit a3df382525
4 changed files with 191 additions and 35 deletions
+22
View File
@@ -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