This should handle the case of having more than one encrypted block device on the system as best we can right now. --- hooks/cryptroot.sh | 11 +++++++---- rules.d/63-luks.rules | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/hooks/cryptroot.sh b/hooks/cryptroot.sh index 0664f24..739f5d3 100755 --- a/hooks/cryptroot.sh +++ b/hooks/cryptroot.sh @@ -1,7 +1,10 @@ #!/bin/sh -[ -f /cryptroot ] && { - echo "Encrypted root detected." - read cryptopts </cryptroot - /sbin/cryptsetup luksOpen $cryptopts || emergency_shell +[ -s /cryptroot ] && { + udevadm control --stop_exec_queue + while read cryptopts; do + /sbin/cryptsetup luksOpen $cryptopts + done </cryptroot + >/cryptroot + udevadm control --start_exec_queue udevadm settle --timeout=30 } diff --git a/rules.d/63-luks.rules b/rules.d/63-luks.rules index 4d6a379..802ea06 100644 --- a/rules.d/63-luks.rules +++ b/rules.d/63-luks.rules @@ -8,6 +8,6 @@ SUBSYSTEM!="block", GOTO="luks_end" ACTION!="add|change", GOTO="luks_end" KERNEL!="sr*", IMPORT{program}="vol_id --export $tempnode" -ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="/bin/sh -c 'echo $env{DEVNAME} luks-$env{ID_FS_UUID} >/cryptroot'" +ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="/bin/sh -c 'echo $env{DEVNAME} luks-$env{ID_FS_UUID} >>/cryptroot'" LABEL="luks_end" -- 1.6.0.6 -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html