diff options
| author | Daniel Baumann <daniel@debian.org> | 2009-05-14 10:06:55 +0200 |
|---|---|---|
| committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 17:48:05 +0100 |
| commit | 4c28d245428f8709832fc4b1c5b6b1ab5e71cc07 (patch) | |
| tree | 6a01f42fb79a4875109d8cfafb091e02805f7c6a /scripts | |
| parent | b3604a8f65f0361d7d0481411aa49e9b969dd19a (diff) | |
| download | live-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-helpers | 37 |
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}" |
