3
# If not on a tty, then get rid of possibly disrupting stderr output
 
 
10
usplash="`pidof usplash -o $$`"
 
 
13
# We get some variables from cryptsetup:
 
 
14
# $cryptsource  the device node, like "/dev/sda3"
 
 
15
# $crypttarget  the device mapper name, like "sda3_crypt".
 
 
17
prompt="Enter passphrase to unlock"
 
 
18
if [ -n "$crypttarget" ]; then
 
 
19
    prompt="$prompt the disk $crypttarget"
 
 
21
if [ -n "$cryptsource" ]; then
 
 
22
    prompt="$prompt ($cryptsource)"
 
 
25
splash_input_password(){
 
 
26
    test -p /dev/.initramfs/usplash_outfifo || return 1
 
 
27
    /sbin/usplash_write "INPUTQUIET $1" || return 1
 
 
28
    cat /dev/.initramfs/usplash_outfifo 2> /dev/null || return 1
 
 
31
# Usplash keeps waiting for input even if some other plugin provided
 
 
32
# the password, so we must kill it
 
 
33
trap "kill -TERM $usplash; sleep 2; kill -KILL $usplash; 
 
 
34
        kill -TERM $$" TERM HUP
 
 
36
password="`splash_input_password \"$prompt: \" password`"
 
 
40
/sbin/usplash_write "TIMEOUT 15"