GNU bug report logs - #31598
Check for initrd-modules fails to detect when loaded module and on-disk module filename differ

Previous Next

Package: guix;

Reported by: Vagrant Cascadian <vagrant <at> debian.org>

Date: Fri, 25 May 2018 21:15:02 UTC

Severity: normal

Merged with 31714

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

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: "pelzflorian (Florian Pelz)" <pelzflorian <at> pelzflorian.de>
Subject: bug#31714: closed (Re: bug#31598: Check for initrd-modules fails
 to detect when loaded module and on-disk module filename differ)
Date: Thu, 14 Jun 2018 21:39:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#31598: Cannot use usb-storage initrd module.

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 31714 <at> debbugs.gnu.org.

-- 
31598: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31598
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: Vagrant Cascadian <vagrant <at> debian.org>, <pelzflorian <at> pelzflorian.de>
Cc: 31598-done <at> debbugs.gnu.org
Subject: Re: bug#31598: Check for initrd-modules fails to detect when loaded
 module and on-disk module filename differ
Date: Thu, 14 Jun 2018 23:38:14 +0200
Hello Vagrant & Florian,

Vagrant Cascadian <vagrant <at> debian.org> skribis:

> 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’.

[Message part 3 (message/rfc822, inline)]
From: "pelzflorian (Florian Pelz)" <pelzflorian <at> pelzflorian.de>
To: bug-guix <at> gnu.org
Subject: Cannot use usb-storage initrd module.
Date: Mon, 4 Jun 2018 21:57:32 +0200
My laptop broke and now I use my formerly internal hard disk as an
external hard disk in another laptop.  It booted fine but I could not
reconfigure maybe because Guix checks for a wrong spelling of the
usb-storage module.


When I pulled
1458f768c1049812166228b8526128b199518e50
and reconfigured I was told to use

(operating-system
  ...
  (initrd-modules (append (list "uas" "usb_storage")
                          %base-initrd-modules))

However the module is apparently called usb-storage with a hyphen, the
path is
/gnu/store/9idmpc60bgah6cy6s0k739kpj9qz50qc-linux-libre-4.16.13/lib/modules/4.16.13-gnu/kernel/drivers/usb/storage/usb-storage.ko


Possibly for this reason I got an error

/home/florian/keep/guixsd/guixsd-mac.scm:85:22: warning: 'title' field is deprecated
The following derivations will be built:
   /gnu/store/3rk9b4k6797h0yg7m7fbm8jv920cy2cq-system.drv
   /gnu/store/bkhkin2lils3jb3g6j8v14yn50d97xxh-grub.cfg.drv
   [...]
   /gnu/store/l5bglmivni7211gi52gh3z7wvxlhn0b7-module-import-compiled.drv
   /gnu/store/ys5drlyhchjzvdbib2wc46xp2ybx1w52-linux-modules.drv
   /gnu/store/1xjispr77v2q6d8xxlygvg89ls2w79cv-init.drv
   /gnu/store/05knsd3pq0xjd8lw86rz8a7w5dl181c0-raw-initrd.drv
Backtrace:
           6 (primitive-load "/gnu/store/09v5nd445bk4qkcy2ya84swhbri?")
In ice-9/eval.scm:
    619:8  5 (_ #f)
   626:19  4 (_ #<directory (guile-user) 7ce140>)
   293:34  3 (_ #<directory (guile-user) 7ce140>)
In srfi/srfi-1.scm:
   592:29  2 (map1 _)
   592:17  1 (map1 ("usb_storage" "ahci" "usb-storage" "uas" "usb?" ?))
In unknown file:
           0 (scm-error misc-error #f "~A ~S ~S" ("module not fo?" ?) ?)

ERROR: In procedure scm-error:
module not found "usb_storage.ko" "/gnu/store/9idmpc60bgah6cy6s0k739kpj9qz50qc-linux-libre-4.16.13/lib/modules"
builder for `/gnu/store/ys5drlyhchjzvdbib2wc46xp2ybx1w52-linux-modules.drv' failed with exit code 1
cannot build derivation `/gnu/store/1xjispr77v2q6d8xxlygvg89ls2w79cv-init.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/05knsd3pq0xjd8lw86rz8a7w5dl181c0-raw-initrd.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/bkhkin2lils3jb3g6j8v14yn50d97xxh-grub.cfg.drv': 1 dependencies couldn't be built
guix system: error: build failed: build of `/gnu/store/bkhkin2lils3jb3g6j8v14yn50d97xxh-grub.cfg.drv' failed


But when I use


(operating-system
  ...
  (initrd-modules (append (list "uas" "usb-storage")
                          %base-initrd-modules))

then I get an error because I should spell it usb_storage.


/home/florian/keep/guixsd/guixsd-mac.scm:85:22: warning: 'title' field is deprecated
/home/florian/keep/guixsd/guixsd-mac.scm:80:9: error: you may need these modules in the initrd for /dev/sdc2: uas usb_storage
hint: Try adding them to the `initrd-modules' field of your `operating-system'
declaration, along these lines:

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



Eventually I changed gnu/system/mapped-devices.scm to  replace

  (when aliases
    (let ((modules (delete-duplicates
                    (append-map (cut matching-modules <> aliases)
                                (device-module-aliases device)))))
      (unless (every (cute member <> linux-modules) modules)
        (raise (condition
                (&message
                 (message (format #f (G_ "you may need these modules \
in the initrd for ~a:~{ ~a~}")
                                  device modules)))
                (&fix-hint
                 (hint (format #f (G_ "Try adding them to the
...

by #t.  Then it successfully reconfigured.

I tested again Guix commit 19b662ea7c53a28270a783f10ca033d8c9d2a954
today and it is still broken.



This bug report was last modified 6 years and 353 days ago.

Previous Next


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