From 33894a8d17efff257aa16d50d94193fe7186c7d2 Mon Sep 17 00:00:00 2001 From: Lilah Tascheter Date: Tue, 6 Aug 2024 19:11:20 -0500 Subject: [PATCH] gnu: system: Fix bootloader crypto device recognition. * gnu/system.scm (operating-system-bootloader-crypto-devices): Check for luks-device-mapping-with-options in addition to luks-device-mapping. Change-Id: Iafc9afe608640b97083c4d559c9240846330472a --- gnu/system.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 85e02a9965..3dde0f4959 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -402,13 +402,16 @@ (define operating-system-bootloader-crypto-devices (mlambdaq (os) ;to avoid duplicated output "Return the sources of the LUKS mapped devices specified by UUID." ;; XXX: Device ordering is important, we trust the returned one. - (let* ((luks-devices (filter (lambda (m) - (eq? luks-device-mapping - (mapped-device-type m))) - (operating-system-boot-mapped-devices os))) - (uuid-crypto-devices non-uuid-crypto-devices - (partition (compose uuid? mapped-device-source) - luks-devices))) + ;; Check against the close-luks-device procedure to get both maptypes. + (let* ((close (compose mapped-device-kind-close mapped-device-type)) + (luks (mapped-device-kind-close luks-device-mapping)) + (luks? (lambda (m) (eq? (close m) luks))) + (os-devices (operating-system-boot-mapped-devices os)) + (luks-devices (filter luks? os-devices)) + (uuid? (compose uuid? mapped-device-source)) + (uuid-crypto-devices + non-uuid-crypto-devices + (partition uuid? luks-devices))) (when (not (null? non-uuid-crypto-devices)) (for-each (lambda (dev) (warning