Hello, Tonton <ton...@riseup.net> 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’.