Subject: Re: [bug#30604] [PATCH v8 3/7] linux-boot: Load kernel modules only when the hardware is present.

From: Danny Milosavljevic <[email-masked]>
Date: Sun, 4 Mar 2018 02:06:43 +0100

Hi Ludo,

On Sat, 03 Mar 2018 23:48:38 +0100
[email-masked] (Ludovic Courtès) wrote:

> > +             (system* "/sbin/modprobe" "-q" "--" modalias))))  
> 
> If we change ‘flat-linux-module-directory’ to produce a ‘modules.alias’
> file, here we could read ‘modules.aliases’ directly and load the right
> thing.
> 
> With the patch below, we get ‘needed-modules’, and we could simply do:
> 
>   (for-each (catch-ENOENT load-linux-module*)
>             (needed-modules
>              (known-module-aliases (string-append linux-module-directory
>                                                   "/modules.alias"))))
> 
> and we can do away with kmod’s modprobe.

It's not kmod's modprobe anymore.  It's our pure-Guile implementation.

Linux lazy-invokes modprobe (for example when mounting stuff), so
/sbin/modprobe is never going away - but it can be our implementation.

I doubt it will take the modules from the correct directory with your patch.
(Of course otherwise it looks much nicer - but I think it won't pass the tests)

My newest version (v9) will use the same procedure for both computing the list
of modules for flat-linux-module-directory and the list of modules that are to
be modprobed - I think it's nice to be able to keep those in sync so we don't
get nasty surprises.  Let's see how that goes...