Check for initrd-modules fails to detect when loaded module and on-disk module filename differ

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Vagrant Cascadian
Owner
unassigned
Submitted by
Vagrant Cascadian
Severity
normal
Merged with
V
V
Vagrant Cascadian wrote on 25 May 2018 23:14
(address . bug-guix@gnu.org)
87bmd3sajc.fsf@aikidev.net
The check for initrd-modules does not appear to handle when loaded
modules use underscores (e.g. "sdhci_of_arasan") but the on-disk modules
use dashes (e.g. "sdhci-of-arasan"). Some modules even use a mix of
underscores and dashes, just to keep it interesting.

The workaround is to use --skip-checks, but this may skip other
important checks.

Putting the "sdhci_of_arasan" in my system config, it fails because it
cannot find the kernel module on-disk by that name.

Ideally, it would find some way of mapping the loaded module names to
the on-disk module filenames, and detect appropriately, ideally
allowing either the on-disk filename or the loaded module name in the
config.


In my config:

(initrd-modules (append (list ... "sdhci-of-arasan" ... ) %base-initrd-modules))


When I run:

$ sudo -E guix system reconfigure /etc/config.scm

<unknown location>: error: you may need these modules in the initrd for /dev/mmcblk1p1: sdhci_of_arasan
hint: Try adding them to the `initrd-modules' field of your `operating-system' declaration, along these
lines:

(operating-system
;; ...
(initrd-modules (append (list "sdhci_of_arasan")
%base-initrd-modules)))

Since the on-disk module name uses "-" instead of underscores:

$ find /gnu/store/*linux-libre* -name '*'arasan.ko
/gnu/store/nilzipm6fpicvlzfv1w8yj1j8mm1xlan-linux-libre-4.16.11/lib/modules/4.16.11-gnu/kernel/drivers/mmc/host/sdhci-of-arasan.ko


But the loaded module uses "_" in the name:

$ lsmod | grep arasan
sdhci_of_arasan 20480 1
cqhci 24576 1 sdhci_of_arasan
sdhci_pltfm 16384 1 sdhci_of_arasan
sdhci 61440 2 sdhci_pltfm,sdhci_of_arasan


live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEcDardHbDotegGFCHt4uC1IFLkbYFAlsIfKgACgkQt4uC1IFL
kbYtyg//SN1o+OXsqeXyH3uOnQBxOKgg/kLV/Vlvdr9GXxJ6MbbkdYl/CRwa0cTU
+mMLM1cp06amdVBS1Ca0tXip/vwvKObtrAsLZcaOeWeYKYr86zIBuFr/UOj+lxSu
ngRrOIVvnJhcAQ1xNq43r2wmu/XSPPQ8OOwQ5UdwYGGmvyQHDzUBByu6J8ab68Hx
JHPkuQBoMCD4e6tjqGgqcogN/dyjcDfhAxVS4hjnUB7fcKqugxO4q9vSWNW73D2p
OouVwqalBt0/cVIbiCBAC52nzVrOqAyebx7b8r+w4/WBUgBAS0cfhlR8UzrbgIyI
yZ3wPbwxmNXQOzMLslrTaxyk4M/LdUfcZCEQ1eeBgGSn3Gx15h2hbq8NAwwOMpcB
cBnHEyEmUFsTnJ9iUSEom/74pcZ+3bH5rd1W3hlQJh6K6GMZFWzFw6jO3zduTQIJ
vkfxaD/E8/YYKHjQSg7cY19UW4QGr6Uy8aQTdu9ccQqJdWNY0SaxS0vl2Y6c7WeV
Gkd7agA5A7nd3QtVxghCAH6aO7X1/pio6o15UFMGveNCJ/6iGSa8BFUT5H+czdrv
J5i1xd15+yr6MDt4siVKInfAvHOBdnloJj7bivBS0SmmjAj+pG8rgWuySM013RoZ
ZtGuU72blcoyftOiaofX7XDbPT1TVGDypnGxOCGE2D95ng+xt5U=
=b59a
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 7 Jun 2018 18:11
control message for bug #31598
(address . control@debbugs.gnu.org)
87efhibmqe.fsf@gnu.org
merge 31598 31714
L
L
Ludovic Courtès wrote on 14 Jun 2018 23:38
Re: bug#31598: Check for initrd-modules fails to detect when loaded module and on-disk module filename differ
(address . 31598-done@debbugs.gnu.org)
87bmcdxd4p.fsf@gnu.org
Hello Vagrant & Florian,

Vagrant Cascadian <vagrant@debian.org> skribis:

Toggle quote (32 lines)
> In my config:
>
> (initrd-modules (append (list ... "sdhci-of-arasan" ... ) %base-initrd-modules))
>
>
> When I run:
>
> $ sudo -E guix system reconfigure /etc/config.scm
>
> <unknown location>: error: you may need these modules in the initrd for /dev/mmcblk1p1: sdhci_of_arasan
> hint: Try adding them to the `initrd-modules' field of your `operating-system' declaration, along these
> lines:
>
> (operating-system
> ;; ...
> (initrd-modules (append (list "sdhci_of_arasan")
> %base-initrd-modules)))
>
> Since the on-disk module name uses "-" instead of underscores:
>
> $ find /gnu/store/*linux-libre* -name '*'arasan.ko
> /gnu/store/nilzipm6fpicvlzfv1w8yj1j8mm1xlan-linux-libre-4.16.11/lib/modules/4.16.11-gnu/kernel/drivers/mmc/host/sdhci-of-arasan.ko
>
>
> But the loaded module uses "_" in the name:
>
> $ lsmod | grep arasan
> sdhci_of_arasan 20480 1
> cqhci 24576 1 sdhci_of_arasan
> sdhci_pltfm 16384 1 sdhci_of_arasan
> sdhci 61440 2 sdhci_pltfm,sdhci_of_arasan

I believe this is fixed by 411959bef30b488928ab2418a064c8a9b0347c41.
Let me know if it’s not!

Thanks,
Ludo’.
Closed
?