Browse Source

luks key on ext dev - wait for luks

This really waits for the luks mapper device, so luksOpen can do it job
master
Przemysław Rudy 14 years ago committed by Harald Hoyer
parent
commit
2e0c003435
  1. 18
      modules.d/90crypt/parse-crypt.sh

18
modules.d/90crypt/parse-crypt.sh

@ -24,8 +24,22 @@ else @@ -24,8 +24,22 @@ else
printf -- '$env{DEVNAME} luks-$env{ID_FS_UUID} %s"\n' $tout
} >> /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

Loading…
Cancel
Save