[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#68524] [PATCH v3 4/5] gnu: system: Fix bootloader crypto device rec
From: |
Herman Rimm |
Subject: |
[bug#68524] [PATCH v3 4/5] gnu: system: Fix bootloader crypto device recognition. |
Date: |
Wed, 25 Sep 2024 13:12:02 +0200 |
From: Lilah Tascheter <lilah@lunabee.space>
* 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
--
2.45.2