From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#31714: Cannot use usb-storage initrd module. Date: Sun, 29 Jul 2018 18:53:21 +0200 Message-ID: <87sh42c7b2.fsf@gnu.org> References: <20180604195732.tbt5uwhzouzxoyxk@floriannotebook> <20180710133732.492d5388@merlin.browniehive.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57753) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fjoxH-000722-6o for bug-guix@gnu.org; Sun, 29 Jul 2018 12:54:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fjoxG-0008Rh-Ak for bug-guix@gnu.org; Sun, 29 Jul 2018 12:54:03 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:57246) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fjoxG-0008Rb-6B for bug-guix@gnu.org; Sun, 29 Jul 2018 12:54:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fjoxF-0001d8-S8 for bug-guix@gnu.org; Sun, 29 Jul 2018 12:54:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20180710133732.492d5388@merlin.browniehive.net> (Tonton's message of "Tue, 10 Jul 2018 13:39:05 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Tonton Cc: 31714-done@debbugs.gnu.org Hello, Tonton 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: > > : 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 e= rror > 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 (_ #) > 293:34 3 (_ #) > 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.dr= v' The problem was that the hint would specify =E2=80=9Cusb_storage=E2=80=9D, = which is the correct module name but not the right *file* name (it=E2=80=99s =E2=80=9Cus= b-storage=E2=80=9D, notice the hyphen.) This is fixed in commit fcd068e984078ab74c6842af2525bf88096cd262, which takes a sledgehammer approach: it tries hyphen and underscore file names, such that =E2=80=98initrd-modules=E2=80=99 can contain either =E2=80= =9Cusb_storage=E2=80=9D or =E2=80=9Cusb-storage=E2=80=9D. Thanks, Ludo=E2=80=99.