[PATCH 1/2] luks key on ext dev - wait for luks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This really waits for the luks mapper device, so luksOpen can do it job:

 modules.d/90crypt/parse-crypt.sh |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/modules.d/90crypt/parse-crypt.sh
b/modules.d/90crypt/parse-crypt.sh
index 7ec232a..a2d64a0 100755
--- a/modules.d/90crypt/parse-crypt.sh
+++ b/modules.d/90crypt/parse-crypt.sh
@@ -23,8 +23,20 @@ else
                 printf -- '$env{DEVNAME} luks-$env{ID_FS_UUID}"\n'
             } >> /etc/udev/rules.d/70-luks.rules.new
 -            printf -- '[ -e /dev/disk/by-uuid/*%s* ]\n' $luksid \
-                >> $hookdir/initqueue/finished/90-crypt.sh
+            [ -e $hookdir/initqueue/finished/90-crypt.sh ] || \
+            {
+                printf -- 'UUIDS=:\n'
+                printf -- 'for dm in /dev/dm-*; do\n'
+                printf -- '[ -e "$dm" ] || exit 1\n'
+                printf -- 'dmid=`/sbin/dmsetup info -c -o uuid
--noheadings "$dm"`\n'
+                printf -- 'uuid=${dmid#CRYPT-LUKS*-}\n'
+                printf -- '[ "x$uuid" = "x$dmid" ] && continue\n'
+                printf -- 'UUIDS="${UUIDS}${uuid%%%%-*}:"\n'
+                printf -- 'done\n'
+            } > $hookdir/initqueue/finished/90-crypt.sh
+            uuid=$luksid
+            while [ "$uuid" != "${uuid#*-}" ]; do
uuid=${uuid%%-*}${uuid#*-}; done
+            printf -- '[ "x${UUIDS#*:%s:}" != "x$UUIDS" ] || exit 1\n'
$uuid >> $hookdir/initqueue/finished/90-crypt.sh
             {
                 printf -- '[ -e /dev/disk/by-uuid/*%s* ] || ' $luksid
                 printf -- 'warn "crypto LUKS UUID "%s" not found"\n'
$luksid

--
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


[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux