Added patch from bug #152441 to improve LUKS support.

git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@453 67a159dc-881f-0410-a524-ba9dfbe2cb84
cleanup-cruft
Chris Gianelloni 18 years ago
parent 55988d9048
commit 3b802a4a93

@ -2,6 +2,9 @@
# Copyright 2006-2006 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
23 Oct 2006; Chris Gianelloni <wolf31o2@gentoo.org> generic/linuxrc:
Added patch from bug #152441 to improve LUKS support.
23 Oct 2006; Chris Gianelloni <wolf31o2@gentoo.org> x86/kernel-config-2.6,
x86_64/kernel-config-2.6:
Updated kernel configs for amd64/x86 for bug #151609 and bug #152299.

@ -172,6 +172,9 @@ do
nfsroot\=*)
NFSROOT=`parse_opt "${x}"`
;;
crypt_root\=*)
CRYPT_ROOT=`parse_opt "${x}"`
;;
esac
done
@ -220,9 +223,23 @@ start_dev_mgr
# Setup md device nodes if they dont exist
setup_md_device
# Start EVMS
# Scan volumes
startVolumes
# Iinitialize encrypted root device
if [ -n "${CRYPT_ROOT}" ]
then
cryptsetup luksOpen ${CRYPT_ROOT} root || exit -1
if [ -n "${REAL_ROOT}" ]
then
# Rescan volumes
startVolumes
else
REAL_ROOT="/dev/mapper/root"
fi
fi
# Set up unionfs
mkdir -p ${NEW_ROOT}
setup_unionfs
@ -370,26 +387,6 @@ do
then
got_good_root=1
#check if LUKS setup is needed
elif [ `echo ${REAL_ROOT} | sed -e "s/\([^:]*\):.*/\1/"` = "luks" ]
then
LUKSdev=`echo ${REAL_ROOT} | sed -e "s/luks:\(.*\)/\1/"`
if [ -e /sbin/cryptsetup ]
then
if cryptsetup isLuks ${LUKSdev}
then
good_msg "LUKS partition - opening $LUKSdev"
cryptsetup luksOpen ${LUKSdev} root &&
REAL_ROOT=/dev/mapper/root &&
got_good_root=1
else
bad_msg "${LUKSDEV} is not a LUKS partition"
REAL_ROOT=""
fi
else
bad_msg "This initrd does not support LUKS"
REAL_ROOT=""
fi
else
bad_msg "Block device ${REAL_ROOT} is not a valid root device..."
REAL_ROOT=""

Loading…
Cancel
Save