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"