[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31714: Cannot use usb-storage initrd module.
From: |
Ludovic Courtès |
Subject: |
bug#31714: Cannot use usb-storage initrd module. |
Date: |
Sun, 29 Jul 2018 18:53:21 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello,
Tonton <address@hidden> skribis:
> My config contained:
>
> (initrd (lambda (file-systems . rest)
> ;; Add a kernel module for RAID-0 (aka. "stripe")
> ;; and RAID-1 (aka. "mirror").
> (apply base-initrd file-systems
> #:extra-modules '("raid0" "raid1")
> rest)))
>
> And I got an error from guix system reconfigure/build:
>
> <unknown location>: error: you may need these modules in the initrd
> for /dev/sdg2: uas usb_storage
> hint: Try adding them to the `initrd-modules' field of your
> `operating-system' declaration, (initrd-modules (append (list "uas"
> "usb_storage")
[...]
> This works if I use --skip-checks. But with checks it gives me the same error
> as above, changing the initrd-modules line to:
>
> (initrd-modules (append (list "uas" "usb_storage" "raid0" "raid1")
>
> Gives the following error:
>
> The following derivations will be built:
> /gnu/store/p5sash3cqywp5kmb9dwh8kbxy0rrdmc0-system.drv
> /gnu/store/g7pfwc7386x1bxf5pdv5nh1xz6ywxgxm-grub.cfg.drv
> /gnu/store/w57aw36wpc0388aa1frkj7h7qh8xac6z-parameters.drv
> /gnu/store/kh9v5z295kz4p79q3kancdv8d86n3cxr-linux-modules.drv
> /gnu/store/pbrj245mgv9zcy3shid348n8qdpv468v-init.drv
> /gnu/store/mvl7lb92g39d0qw08r2l2qiysvdf0sgs-raw-initrd.drv
> Backtrace:
> 6 (primitive-load "/gnu/store/hj17134gdpixdpif8nljwyh31k1?")
> In ice-9/eval.scm:
> 619:8 5 (_ #f)
> 626:19 4 (_ #<directory (guile-user) 7cc140>)
> 293:34 3 (_ #<directory (guile-user) 7cc140>)
> In srfi/srfi-1.scm:
> 592:29 2 (map1 _)
> 592:17 1 (map1 ("usb_storage" "raid0" "raid1" "ahci" "usb-sto?" ?))
> 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/khxmq6p1470171537z8agikiqmi469jr-linux-libre-4.17/lib/modules"
> builder for `/gnu/store/kh9v5z295kz4p79q3kancdv8d86n3cxr-linux-modules.drv'
The problem was that the hint would specify “usb_storage”, which is the
correct module name but not the right *file* name (it’s “usb-storage”,
notice the hyphen.)
This is fixed in commit fcd068e984078ab74c6842af2525bf88096cd262, which
takes a sledgehammer approach: it tries hyphen and underscore file
names, such that ‘initrd-modules’ can contain either “usb_storage” or
“usb-storage”.
Thanks,
Ludo’.