--- Begin Message ---
Subject: |
Cannot use usb-storage initrd module. |
Date: |
Mon, 4 Jun 2018 21:57:32 +0200 |
User-agent: |
NeoMutt/20180323 |
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.
--- End Message ---
--- Begin Message ---
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 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello Vagrant & Florian,
Vagrant Cascadian <address@hidden> 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’.
--- End Message ---