summaryrefslogtreecommitdiff
path: root/gnu/system.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system.scm')
-rw-r--r--gnu/system.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index d79ea23f98..fd456c6206 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -477,13 +477,19 @@ OS."
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)