diff options
Diffstat (limited to 'abs/core/cryptsetup/encrypt_hook')
| -rw-r--r-- | abs/core/cryptsetup/encrypt_hook | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/abs/core/cryptsetup/encrypt_hook b/abs/core/cryptsetup/encrypt_hook index 372b7ba..819c4cf 100644 --- a/abs/core/cryptsetup/encrypt_hook +++ b/abs/core/cryptsetup/encrypt_hook @@ -11,7 +11,9 @@ run_hook() {  $cryptkey  EOF -        if resolved=$(resolve_device "${ckdev}" ${rootdelay}); then +        if [ "$ckdev" = "rootfs" ]; then +            ckeyfile=$ckarg1 +        elif resolved=$(resolve_device "${ckdev}" ${rootdelay}); then              case ${ckarg1} in                  *[!0-9]*)                      # Use a file on the device @@ -50,7 +52,6 @@ EOF      for cryptopt in ${cryptoptions//,/ }; do          case ${cryptopt} in              allow-discards) -                echo "Enabling TRIM/discard support."                  cryptargs="${cryptargs} --allow-discards"                  ;;              *) @@ -65,7 +66,7 @@ EOF              dopassphrase=1              # If keyfile exists, try to use that              if [ -f ${ckeyfile} ]; then -                if eval cryptsetup --key-file ${ckeyfile} luksOpen ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; then +                if eval cryptsetup --key-file ${ckeyfile} open --type luks ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; then                      dopassphrase=0                  else                      echo "Invalid keyfile. Reverting to passphrase." @@ -77,7 +78,7 @@ EOF                  echo "A password is required to access the ${cryptname} volume:"                  #loop until we get a real password -                while ! eval cryptsetup luksOpen ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; do +                while ! eval cryptsetup open --type luks ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; do                      sleep 2;                  done              fi @@ -97,7 +98,7 @@ EOF                  err "Non-LUKS decryption not attempted..."                  return 1              fi -            exe="cryptsetup create $cryptname $resolved $cryptargs" +            exe="cryptsetup open --type plain $resolved $cryptname $cryptargs"              IFS=: read c_hash c_cipher c_keysize c_offset c_skip <<EOF  $crypto  EOF  | 
