summaryrefslogtreecommitdiff
path: root/gnu/system/linux-initrd.scm
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2024-02-26 13:47:13 +0800
committerHilton Chain <hako@ultrarare.space>2024-03-09 09:21:19 +0800
commit8f8ec56052766aa5105d672b77ad9eaca5c1ab3c (patch)
tree18efe3e835c28f1742e2e7e92458df142a88b65d /gnu/system/linux-initrd.scm
parent7fd0975edcf4f69e7c5c997f9b63642cfb82b5ca (diff)
linux-initrd: Avoid looking up builtin modules.
* gnu/system/linux-initrd.scm (flat-linux-module-directory) [build-exp]<builtin-modules,modules-to-lookup>: New variables. <modules>: Use ‘modules-to-lookup’ to avoid looking up builtin modules. Change-Id: I60fdae0211bb6632508b1c63582e013e78186cd1
Diffstat (limited to 'gnu/system/linux-initrd.scm')
-rw-r--r--gnu/system/linux-initrd.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 58e95a1312b..6236d25b9d8 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -132,15 +132,27 @@ MODULES and taken from LINUX."
132 #~(begin 132 #~(begin
133 (use-modules (gnu build linux-modules) 133 (use-modules (gnu build linux-modules)
134 (guix build utils) 134 (guix build utils)
135 (rnrs io ports)
135 (srfi srfi-1) 136 (srfi srfi-1)
136 (srfi srfi-26)) 137 (srfi srfi-26))
137 138
138 (define module-dir 139 (define module-dir
139 (string-append #$linux "/lib/modules")) 140 (string-append #$linux "/lib/modules"))
140 141
142 (define builtin-modules
143 (call-with-input-file
144 (first (find-files module-dir "modules.builtin$"))
145 (lambda (port)
146 (map file-name->module-name
147 (string-tokenize
148 (get-string-all port))))))
149
150 (define modules-to-lookup
151 (lset-difference string=? '#$modules builtin-modules))
152
141 (define modules 153 (define modules
142 (let* ((lookup (cut find-module-file module-dir <>)) 154 (let* ((lookup (cut find-module-file module-dir <>))
143 (modules (map lookup '#$modules))) 155 (modules (map lookup modules-to-lookup)))
144 (append modules 156 (append modules
145 (recursive-module-dependencies 157 (recursive-module-dependencies
146 modules 158 modules