Subject: bug#36574: closed (Re: bug#34902: guix cannot find a module on boot)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 16 Aug 2019 21:11:04 +0000

Your bug report

#34902: Kernel module not found at boot time due to hyphen/underscore mismatch

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34902: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34902
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34902: guix cannot find a module on boot
From: Ludovic Courtès <[email-masked]>
To: Danny Milosavljevic <[email-masked]>
Cc: Julien Lepiller <[email-masked]>, [email-masked], [email-masked]
Date: Fri, 16 Aug 2019 23:10:15 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

Danny Milosavljevic <[email-masked]> skribis:

> Maybe I'm too paranoid but can we have "guix" in the file name "modules.name"
> somewhere?  Otherwise I see it coming that upstream uses modules.name for an
> incompatible purpose and then we'd be with a guix interface that's broken
> and/or break their interface.
>
> (So much complexity for something so silly.  Honestly, I feel like E-mailing
> the upstream author and telling him what I think.  WTF :P)
>
> Should we warn when we use the fallback?  I like the defensive programming
> but I feel we shouldn't have it *silently* fall back when the database is
> broken/missing.
>
> Otherwise LGTM!

So I went ahead and pushed these patches, derived from our beautiful
patch set at <https://issues.guix.gnu.org/issue/30604>:

  c85ccf60bf linux-modules: Define and use a module name database.
  e1a9a7f275 linux-modules: Add 'load-linux-modules-from-directory'.
  2a693b69ca linux-modules: Add "modules.devname" writer.
  4f8b9d1a6f linux-modules: Add "modules.alias" writer.

The actual fix for the hyphen/underscore mismatch that Julien reported
is commit c85ccf60bf.  The “modules.devname” and “modules.alias” are
actually unused so far but (1) it was easier to preserve them, and (2)
that’ll give us an incentive to finish
<https://issues.guix.gnu.org/issue/30604>.  :-)

I added an explicit comment that “modules.name” uses a Guix-specific
format.  We can always rename it if the kernel folks decide to acquire
that file name.

Julien, could you please confirm that your initial issue is fixed?

Thanks,
Ludo’.

Subject: The installer recommends wrong initrd module names
From: Meiyo Peng <[email-masked]>
To: [email-masked]
Date: Wed, 10 Jul 2019 18:57:03 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

When I install Guix on a low end computer using the `guix system init`
command, the installer says that "mmc_block" and "sdhci_acpi" should be
added into initrd-modules:

#+begin_example
  error: you may need these modules in the initrd for /dev/mmcblk0p2: mmc_block sdhci_acpi
  hint: Try adding them to the `initrd-modules' field of your `operating-system' declaration, along these lines:

        (operating-system
          ;; ...
          (initrd-modules (append (list "mmc_block" "sdhci_acpi")
                                  %base-initrd-modules)))
#+end_example

This computer has an eMMC disk, so this sounds reasonable.  I made that
modification and the installation process succeeded.  But when I boot
the computer, it complained that "sdhci_acpi" could not be found.  After
spending hours digging around, I finally found out that the required
module name is actuall called "sdhci-acpi" rather than "sdhci_acpi".
The computer can successfully boot into Guix when I replace "sdhci_acpi"
with "sdhci-acpi" and reinstall Guix.

So the problem is that the Guix installer recommends wrong initrd module
names to user.

--
Meiyo Peng
https://www.pengmeiyu.com/