[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#45692] [PATCH 0/4] Even Better ZFS Support on Guix
From: |
Ludovic Courtès |
Subject: |
[bug#45692] [PATCH 0/4] Even Better ZFS Support on Guix |
Date: |
Wed, 10 Feb 2021 16:44:49 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi,
raid5atemyhomework <raid5atemyhomework@protonmail.com> skribis:
>>From 4beb73c62995cf236b402dad8e1c36016027c781 Mon Sep 17 00:00:00 2001
> From: raid5atemyhomework <raid5atemyhomework@protonmail.com>
> Date: Tue, 5 Jan 2021 22:27:56 +0800
> Subject: [PATCH 1/4] gnu: Allow services to install kernel-loadable modules.
>
> * gnu/system.scm (operating-system-directory-base-entries): Remove code
> to handle generation of "kernel" and "hurd".
> (operating-system-default-essential-services): Instantiate
> kernel-loadable-module-service.
> (hurd-default-essential-services): Instantiate
> kernel-loadable-module-service.
> (package-for-kernel): Move ...
> * gnu/services.scm: ... to here.
> (kernel-loadable-module-service-type): New variable.
> (kernel-loadable-module-service): New procedure.
> * 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 kernel-loadable-module-service-type.
[…]
> +@defvr {Scheme Variable} kernel-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.
> +@end defvr
Would be nice to expound a bit here, in particular by adding an example
(along the lines of those used in system tests maybe?). Otherwise it
can be hard to fathom how this is meant to be used.
> +;; Configuration for the kernel builder.
> +(define-record-type* <kernel-builder-configuration>
> kernel-builder-configuration
> + make-kernel-builder-configuration
> + kernel-builder-configuration?
> + this-kernel-builder-configuration
> +
> + (kernel kernel-builder-configuration-kernel (default #f))
> + (hurd kernel-builder-configuration-hurd (default #f))
> + (modules kernel-builder-configuration-modules (default '())))
How about <linux-build-configuration> instead?
In general, throughout the project, we do not use “kernel” and “Linux”
interchangeably. Since this is a Linux-only feature, let’s call it that
way and remove the ‘hurd’ field (the Hurd has no notion of in-kernel
modules since pretty much everything happens in user-space.)
> +(define kernel-loadable-module-service-type
> + (service-type (name 'kernel-loadable-modules)
Same here: ‘linux-loadable-module-service-type’.
But… it’s not clear at first sight how this differs from the existing
‘kernel-module-loader’. Perhaps ‘linux-build-service-type’ would be
more accurate? Or am I missing something?
Thanks,
Ludo’.