From 3d52fbcb4fe70132ade14759d76573b471294800 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 23 Sep 2007 14:46:37 +0200 Subject: Adding live-initramfs 1.87.3-1. --- scripts/live-helpers | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) (limited to 'scripts/live-helpers') diff --git a/scripts/live-helpers b/scripts/live-helpers index 8402d93..eac2175 100644 --- a/scripts/live-helpers +++ b/scripts/live-helpers @@ -1,4 +1,4 @@ -## Casper helper functions, used by casper on boot and by casper-snapshot +## live-initramfs helper functions, used by live-initramfs on boot and by live-snapshot if [ "${BUILD_SYSTEM}" = "Ubuntu" ]; then MP_QUIET="-Q" @@ -108,11 +108,20 @@ fs_size () echo "${size}" } +load_keymap() +{ + # Load custom keymap + if [ -x /bin/loadkeys -a -r /etc/boottime.kmap.gz ]; then + loadkeys /etc/boottime.kmap.gz + fi +} + setup_loop() { local fspath=$1 local module=$2 local pattern=$3 local offset=$4 + local encryption=$5 modprobe ${MP_QUIET} -b "$module" udevsettle @@ -120,10 +129,35 @@ setup_loop() { for loopdev in $pattern; do if [ "$(cat $loopdev/size)" -eq 0 ]; then dev=$(sys2dev "${loopdev}") - if [ -n "$offset" ]; then - losetup -o "$offset" "$dev" "$fspath" + options='' + if [ 0 -lt "${offset}" ]; then + options="${options} -o ${offset}" + fi + if [ -z "${encryption}" ]; then + losetup ${options} "${dev}" "${fspath}" else - losetup "$dev" "$fspath" + # Loop AES encryption + while true; do + load_keymap + echo -n "Enter passphrase for ${fspath}: " >&6 + read -s passphrase + echo "${passphrase}" > /tmp/passphrase + exec 9&6 + read answer + if [ 'no' = "${answer}" ]; then + unset answer + break + fi + done fi echo "$dev" return 0 -- cgit v1.2.3