Subject: Re: bug#45692: [PATCH 0/4] Even Better ZFS Support on Guix

From: raid5atemyhomework <[email-masked]>
Date: Wed, 10 Feb 2021 16:49:45 +0000

> > +;; 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.)

The `operating-system` record uses `kernel-loadable-modules` as the record field name.  I suggest changing that first, if you truly want to differentiate "kernel" from "linux" "throughout the project".  Or deprecate it entirely and instead use the new `linux-loadable-modules-service-type`, in principle the only field needed in `operating-system` should be `services`.

>
> > +(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?

`kernel-module-loader` explicitly loads a module at startup, it does not make a non-Linux-libre-built-in module actually *loadable*.  So there is a need for something to augment the `linux-loadable-modules` record field of `operating-system`.

Thanks
raid5atemyhomework