From: Victor Lowther Date: Sat, 21 Feb 2009 16:24:39 +0000 (-0800) Subject: Make cryptroot handling act as a real producer/consumer. X-Git-Tag: 0.1~419 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5ee69f0b54d301c74553fcc0ebc360110a3d1205;p=thirdparty%2Fdracut.git Make cryptroot handling act as a real producer/consumer. This should handle the case of having more than one encrypted block device on the system as best we can right now. --- diff --git a/hooks/cryptroot.sh b/hooks/cryptroot.sh index 0664f245c..739f5d314 100755 --- a/hooks/cryptroot.sh +++ b/hooks/cryptroot.sh @@ -1,7 +1,10 @@ #!/bin/sh -[ -f /cryptroot ] && { - echo "Encrypted root detected." - read cryptopts /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 4d6a37972..802ea062e 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"