diff options
Diffstat (limited to 'examples/hooks/all_chroot_losetup-lukshome.sh')
-rwxr-xr-x | examples/hooks/all_chroot_losetup-lukshome.sh | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/examples/hooks/all_chroot_losetup-lukshome.sh b/examples/hooks/all_chroot_losetup-lukshome.sh index 95d3c053a..b6f33bf7f 100755 --- a/examples/hooks/all_chroot_losetup-lukshome.sh +++ b/examples/hooks/all_chroot_losetup-lukshome.sh @@ -333,27 +333,32 @@ do esac done -# search for a partition labeled "lukshome" or $LUKSPART -for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop | grep -v ram | grep -v fd) -do - for dev in $(subdevices "${sysblock}") +if [ -x /sbin/blkid ] +then + CRYPTHOME=$(/sbin/blkid -L ${LUKSPART}) +else + # search for a partition labeled "lukshome" or $LUKSPART + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop | grep -v ram | grep -v fd) do - devname=$(sys2dev "${dev}") - # find partition name and filesystem type - if [ "$(/lib/udev/vol_id -l ${devname} 2>/dev/null)" = "${LUKSPART}" ] + for dev in $(subdevices "${sysblock}") + do + devname=$(sys2dev "${dev}") + # find partition name and filesystem type + if [ "$(/lib/udev/vol_id -l ${devname} 2>/dev/null)" = "${LUKSPART}" ] + then + # found one partition with correct label + CRYPTHOME="${devname}" + # don't search further + break + fi + done + # if already found, don't search further + if [ -n "${CRYPTHOME}" ] then - # found one partition with correct label - CRYPTHOME="${devname}" - # don't search further break fi done - # if already found, don't search further - if [ -n "${CRYPTHOME}" ] - then - break - fi -done +fi # if no partition found, exit if [ -z "${CRYPTHOME}" ] |