GNU bug report logs -
#31598
Check for initrd-modules fails to detect when loaded module and on-disk module filename differ
Previous Next
Full log
View this message in rfc822 format
[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)]
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)]
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.