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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html