projects
/
live-boot-grml.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5a0f758
)
Adding plymouth support for LUKS passwort prompt based on a patch from Gaudenz Steinl...
author
Daniel Baumann
<mail@daniel-baumann.ch>
Wed, 27 Aug 2014 17:51:15 +0000
(19:51 +0200)
committer
Daniel Baumann
<mail@daniel-baumann.ch>
Wed, 27 Aug 2014 17:51:15 +0000
(19:51 +0200)
components/9990-misc-helpers.sh
patch
|
blob
|
history
diff --git
a/components/9990-misc-helpers.sh
b/components/9990-misc-helpers.sh
index
2bf2db1
..
9951873
100755
(executable)
--- a/
components/9990-misc-helpers.sh
+++ b/
components/9990-misc-helpers.sh
@@
-803,9
+803,30
@@
open_luks_device ()
load_keymap
load_keymap
+ # check for plymouth
+ if [ -x /bin/plymouth ]
+ then
+ _PLYMOUTH="true"
+ fi
+
+ case "${_PLYMOUTH}" in
+ true)
+ plymouth --ping
+
+ cryptkeyscript="plymouth ask-for-password --prompt"
+ # Plymouth will add a : if it is a non-graphical prompt
+ cryptkeyprompt="Please unlock disk ${dev}"
+ ;;
+
+ *)
+ cryptkeyscript="/lib/cryptsetup/askpass"
+ cryptkeyprompt="Please unlock disk ${dev}: "
+ ;;
+ esac
+
while true
do
while true
do
-
/lib/cryptsetup/askpass "Enter passphrase for ${dev}:
" | \
+
$cryptkeyscript "$cryptkeyprompt
" | \
/sbin/cryptsetup -T 1 luksOpen ${dev} ${name} ${opts}
if [ 0 -eq ${?} ]
/sbin/cryptsetup -T 1 luksOpen ${dev} ${name} ${opts}
if [ 0 -eq ${?} ]
@@
-816,11
+837,28
@@
open_luks_device ()
fi
echo >&6
fi
echo >&6
- echo -n "There was an error decrypting ${dev} ... Retry? [Y/n] " >&6
- read answer
+ retryprompt="There was an error decrypting ${dev} ... Retry? [Y/n]"
+
+ case "${_PLYMOUTH}" in
+ true)
+ plymouth display-message --text "${retryprompt}"
+ answer=$(plymouth watch-keystroke --keys="YNyn")
+ ;;
+
+ *)
+ echo -n "${retryprompt} " >&6
+ read answer
+ ;;
+ esac
if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ]
then
if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ]
then
+ case "${_PLYMOUTH}" in
+ true)
+ plymouth display-message --text ""
+ ;;
+ esac
+
return 2
fi
done
return 2
fi
done