diff options
| author | Hilton Chain <hako@ultrarare.space> | 2024-02-26 13:47:13 +0800 |
|---|---|---|
| committer | Hilton Chain <hako@ultrarare.space> | 2024-03-09 09:21:19 +0800 |
| commit | 8f8ec56052766aa5105d672b77ad9eaca5c1ab3c (patch) | |
| tree | 18efe3e835c28f1742e2e7e92458df142a88b65d /gnu/system/linux-initrd.scm | |
| parent | 7fd0975edcf4f69e7c5c997f9b63642cfb82b5ca (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.scm | 14 |
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 |
