Don’t attempt to create a module database when none are av ailable
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
The present code breaks with a non-modular kernel. This can be easily avoided.
--- a/gnu/system.scm
+++ #<buffer system.scm>
@@ -477,13 +477,19 @@
value of the SYSTEM-SERVICE-TYPE service."
(let ((locale (operating-system-locale-directory os)))
(mlet* %store-monad ((kernel -> (operating-system-kernel os))
+ (kernel-modules (package-file kernel "lib/modules"))
(modules ->
(operating-system-kernel-loadable-modules os))
+ (has-modules ->
+ (or (not (null? modules))
+ (file-exists? kernel-modules)))
(kernel
(profile-derivation
(packages->manifest
(cons kernel modules))
- #:hooks (list linux-module-database)))
+ #:hooks (if has-modules
+ (list linux-module-database)
+ '())))
(initrd -> (operating-system-initrd-file os))
(params (operating-system-boot-parameters-file os)))
(return `(("kernel" ,kernel)