GNU bug report logs - #34902
Kernel module not found at boot time due to hyphen/underscore mismatch

Previous Next

Package: guix;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Mon, 18 Mar 2019 09:32:02 UTC

Severity: important

Merged with 36574

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Meiyo Peng <meiyo <at> riseup.net>
Subject: bug#36574: closed (Re: bug#34902: guix cannot find a module on boot)
Date: Fri, 16 Aug 2019 21:11:04 +0000
[Message part 1 (text/plain, inline)]
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 36574 <at> debbugs.gnu.org.

-- 
34902: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34902
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: Julien Lepiller <julien <at> lepiller.eu>, 34902-done <at> debbugs.gnu.org,
 30604 <at> debbugs.gnu.org
Subject: Re: bug#34902: guix cannot find a module on boot
Date: Fri, 16 Aug 2019 23:10:15 +0200
Hello!

Danny Milosavljevic <dannym <at> scratchpost.org> 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’.

[Message part 3 (message/rfc822, inline)]
From: Meiyo Peng <meiyo <at> riseup.net>
To: bug-guix <at> gnu.org
Subject: The installer recommends wrong initrd module names
Date: Wed, 10 Jul 2019 18:57:03 +0800
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/



This bug report was last modified 5 years and 341 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.