* bug#31714: Cannot use usb-storage initrd module.
@ 2018-06-04 19:57 pelzflorian (Florian Pelz)
2018-07-10 11:39 ` Tonton
0 siblings, 1 reply; 3+ messages in thread
From: pelzflorian (Florian Pelz) @ 2018-06-04 19:57 UTC (permalink / raw)
To: 31714
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.
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#31714: Cannot use usb-storage initrd module.
2018-06-04 19:57 bug#31714: Cannot use usb-storage initrd module pelzflorian (Florian Pelz)
@ 2018-07-10 11:39 ` Tonton
2018-07-29 16:53 ` Ludovic Courtès
0 siblings, 1 reply; 3+ messages in thread
From: Tonton @ 2018-07-10 11:39 UTC (permalink / raw)
To: 31714
[-- Attachment #1: Type: text/plain, Size: 3259 bytes --]
Today it seems I hit this bug.
The last days I've been upgrading this machine with guix pull, and have been
booting and reconfiguring fine until a few hours ago.
Also, sorry about formatting.
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")
The machine has the OS on a usb stick because all the internal SATA drives
are RAID and I prefer to separate them. This machine has been configured like
this for a long time.
After following the recommendation (and finding the module in store is
actually named usb-storage.ko) I end up with the following config snippet:
(initrd-modules (append (list "uas" "usb-storage" "raid0" "raid1")
%base-initrd-modules))
(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"); "uas" "usb-storage")
rest)))
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'
failed with exit code 1 cannot build derivation
`/gnu/store/pbrj245mgv9zcy3shid348n8qdpv468v-init.drv': 1 dependencies
couldn't be built cannot build derivation
`/gnu/store/mvl7lb92g39d0qw08r2l2qiysvdf0sgs-raw-initrd.drv': 1 dependencies
couldn't be built cannot build derivation
`/gnu/store/g7pfwc7386x1bxf5pdv5nh1xz6ywxgxm-grub.cfg.drv': 1 dependencies
couldn't be built guix system: error: build failed: build of
`/gnu/store/g7pfwc7386x1bxf5pdv5nh1xz6ywxgxm-grub.cfg.drv' failed
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#31714: Cannot use usb-storage initrd module.
2018-07-10 11:39 ` Tonton
@ 2018-07-29 16:53 ` Ludovic Courtès
0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2018-07-29 16:53 UTC (permalink / raw)
To: Tonton; +Cc: 31714-done
Hello,
Tonton <tonton@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’.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-07-29 16:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-04 19:57 bug#31714: Cannot use usb-storage initrd module pelzflorian (Florian Pelz)
2018-07-10 11:39 ` Tonton
2018-07-29 16:53 ` Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.