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 | |
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')
-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 58e95a1312..6236d25b9d 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -132,15 +132,27 @@ MODULES and taken from LINUX." #~(begin (use-modules (gnu build linux-modules) (guix build utils) + (rnrs io ports) (srfi srfi-1) (srfi srfi-26)) (define module-dir (string-append #$linux "/lib/modules")) + (define builtin-modules + (call-with-input-file + (first (find-files module-dir "modules.builtin$")) + (lambda (port) + (map file-name->module-name + (string-tokenize + (get-string-all port)))))) + + (define modules-to-lookup + (lset-difference string=? '#$modules builtin-modules)) + (define modules (let* ((lookup (cut find-module-file module-dir <>)) - (modules (map lookup '#$modules))) + (modules (map lookup modules-to-lookup))) (append modules (recursive-module-dependencies modules |