Browse Source

Update plymouth to work with running cryptsetup from a udev rule.

master
Victor Lowther 16 years ago
parent
commit
5fff86626b
  1. 13
      modules.d/50plymouth/63-luks.rules
  2. 17
      modules.d/50plymouth/cryptroot.sh
  3. 2
      modules.d/50plymouth/install

13
modules.d/50plymouth/63-luks.rules

@ -1,13 +0,0 @@ @@ -1,13 +0,0 @@
# hacky rules to try to try unlocking dm-crypt devs
#
# Copyright 2008, Red Hat, Inc.
# Jeremy Katz <katzj@redhat.com>


SUBSYSTEM!="block", GOTO="luks_end"
ACTION!="add|change", GOTO="luks_end"

KERNEL!="sr*", IMPORT{program}="vol_id --export $tempnode"
ENV{ID_FS_TYPE}=="crypto_LUKS", RUN+="plymouth-ask $env{DEVNAME} luks-$env{ID_FS_UUID}"

LABEL="luks_end"

17
modules.d/50plymouth/cryptroot.sh

@ -1,14 +1,5 @@ @@ -1,14 +1,5 @@
#!/bin/sh
[ -s /cryptroot ] && {
udevadm control --stop-exec-queue
while read cryptopts; do
( exec >/dev/console 2>&1 </dev/console
set $cryptopts
[ -b /dev/mapper/$2 ] || /bin/plymouth ask-for-password \
--command="/sbin/cryptsetup luksOpen -T1 $cryptopts"
)
done </cryptroot
>/cryptroot
udevadm control --start-exec-queue
udevadm settle --timeout=30
}
exec >/dev/console 2>&1 </dev/console
[ -b /dev/mapper/$2 ] && exit 0
/bin/plymouth ask-for-password \
--command="/sbin/cryptsetup luksOpen -T1 $1 $2"

2
modules.d/50plymouth/install

@ -3,5 +3,5 @@ echo "installing plymouth" @@ -3,5 +3,5 @@ echo "installing plymouth"
. "$moddir"/plymouth-populate-initrd
inst_hook pre-udev 10 "$moddir"/plymouth-start.sh
inst_hook pre-pivot 90 "$moddir"/plymouth-newroot.sh
inst_hook mount 10 "$moddir/cryptroot.sh"
inst "$moddir/cryptroot.sh" /bin/cryptroot.sh


Loading…
Cancel
Save