From 853077feed1699f6a27e7a709cd35f2ed4ac4939 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Fri, 27 Mar 2026 20:34:05 +0800 Subject: [PATCH] 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 --- gnu/system/linux-initrd.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index d1cd8d98b7..f00a72afeb 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -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 <>))