From a3df382525ac515d1aa083f7f5bd3bd31eb1df40 Mon Sep 17 00:00:00 2001 From: raid5atemyhomework Date: Mon, 22 Mar 2021 11:23:32 +0800 Subject: 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 --- doc/guix.texi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'doc/guix.texi') 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 -- cgit v1.2.3