diff options
author | Christian Giessner <bugzilla@christian-giessner.de> | 2011-01-15 17:51:24 +0100 |
---|---|---|
committer | Sebastian Pipping <sebastian@pipping.org> | 2011-01-15 17:51:51 +0100 |
commit | 3e60ed9eee5e02aafdff98d87d63b627ca3f87bb (patch) | |
tree | 2fafb0e521e60bbc0008835f8eb1e8a00a8c66c5 /defaults | |
parent | Run "make firmware_install" if CONFIG_FIRMWARE_IN_KERNEL != y (bug #244651) (diff) | |
download | genkernel-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-x | defaults/initrd.scripts | 27 |
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 ] |