aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Giessner <bugzilla@christian-giessner.de>2011-01-15 17:51:24 +0100
committerSebastian Pipping <sebastian@pipping.org>2011-01-15 17:51:51 +0100
commit3e60ed9eee5e02aafdff98d87d63b627ca3f87bb (patch)
tree2fafb0e521e60bbc0008835f8eb1e8a00a8c66c5 /defaults
parentRun "make firmware_install" if CONFIG_FIRMWARE_IN_KERNEL != y (bug #244651) (diff)
downloadgenkernel-3e60ed9eee5e02aafdff98d87d63b627ca3f87bb.tar.gz
genkernel-3e60ed9eee5e02aafdff98d87d63b627ca3f87bb.tar.bz2
genkernel-3e60ed9eee5e02aafdff98d87d63b627ca3f87bb.zip
Add support for UUID to crypt_root (bug #315467)
Diffstat (limited to 'defaults')
-rwxr-xr-xdefaults/initrd.scripts27
1 files changed, 27 insertions, 0 deletions
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index e258d3e2..71f3550a 100755
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -761,6 +761,33 @@ openLUKS() {
whereis "LUKS_KEYDEV" "${LUKS_NAME} key device"
KEYDEV_ERROR=0
else
+ case "${LUKS_DEVICE}" in
+ UUID\=*)
+ REAL_LUKS=""
+ retval=1
+
+ if [ "${retval}" -ne '0' ]; then
+ REAL_LUKS=`findfs "${LUKS_DEVICE}" 2>/dev/null`
+ retval=$?
+ fi
+
+ if [ "$retval" -ne '0' ]; then
+ REAL_LUKS=`busybox findfs "${LUKS_DEVICE}" 2>/dev/null`
+ retval=$?
+ fi
+
+ if [ "${retval}" -ne '0' ]; then
+ REAL_LUKS=`blkid -t "${LUKS_DEVICE}" | cut -d ":" -f 1 2>/dev/null`
+ retval=$?
+ fi
+
+ if [ "${retval}" -eq '0' ] && [ -n "${REAL_LUKS}" ]; then
+ good_msg "Detected device ${REAL_LUKS}"
+ LUKS_DEVICE="${REAL_LUKS}"
+ fi
+ ;;
+ esac
+
setup_md_device ${LUKS_DEVICE}
cryptsetup isLuks ${LUKS_DEVICE}
if [ $? -ne 0 ]