1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

linux-initrd: Handle builtin modules with different module and file names.

Previously, modules we want were not normalized before comparing with
builtin-modules, which was normalized by file-name->module-name.

This made the code unable to find modules like nls_iso8859-1 (normalized to
nls_iso8859_1) and usb-storage (normalized to usb_storage) when they're built
into the kernel.

* gnu/system/linux-initrd.scm (flat-linux-module-directory) [modules-to-lookup]:
Normalize module name before comparing with builtin ones.

Change-Id: Ifb3ab298b8435c38040a6d58cdb53a3a46eb8ee1
Merges: #7514
This commit is contained in:
Hilton Chain
2026-03-27 20:34:05 +08:00
parent f27b9ee891
commit 853077feed

View File

@@ -154,7 +154,11 @@ MODULES and taken from LINUX."
'())))
(define modules-to-lookup
(lset-difference string=? '#$modules builtin-modules))
(remove (lambda (module)
(member (normalize-module-name module)
;; Normalized by `file-name->module-name'.
builtin-modules))
'#$modules))
(define modules
(let* ((lookup (cut find-module-file module-dir <>))