summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2009-05-14 10:06:55 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 17:48:05 +0100
commit4c28d245428f8709832fc4b1c5b6b1ab5e71cc07 (patch)
tree6a01f42fb79a4875109d8cfafb091e02805f7c6a /scripts
parentb3604a8f65f0361d7d0481411aa49e9b969dd19a (diff)
downloadlive-boot-4c28d245428f8709832fc4b1c5b6b1ab5e71cc07.tar.gz
live-boot-4c28d245428f8709832fc4b1c5b6b1ab5e71cc07.zip
Initial commit for having support for persistency on luks.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/live-helpers37
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/live-helpers b/scripts/live-helpers
index 59bdb4f..c4fca95 100644
--- a/scripts/live-helpers
+++ b/scripts/live-helpers
@@ -327,6 +327,43 @@ find_cow_device ()
break
fi
+ # Checking for a luks device
+ if [ -e /sbin/cryptsetup ] && /sbin/cryptsetup isLuks ${devname}
+ then
+ while true
+ do
+ load_keymap
+
+ echo -n "Enter passphrase for ${pers_label} on ${devname}: " >&6
+ read -s passphrase
+ echo "${passphrase}" > /tmp/passphrase
+ unset passphrase
+ exec 9</tmp/passphrase
+ /sbin/cryptsetup luksOpen ${devname} $(basename ${devname})
+ error=${?}
+ exec 9<&-
+ rm -f /tmp/passphrase
+
+ devname="/dev/mapper/$(basename ${devname})"
+
+ if [ 0 -eq ${error} ]
+ then
+ unset error
+ break
+ fi
+
+ echo
+ echo -n "There was an error decrypting ${devname} ... Retry? [Y/n] " >&6
+ read answer
+
+ if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ]
+ then
+ unset answer
+ break
+ fi
+ done
+ fi
+
if [ "$(/lib/udev/vol_id -l ${devname} 2>/dev/null)" = "${pers_label}" ]
then
echo "${devname}"