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