summaryrefslogtreecommitdiffstats
path: root/hooks
diff options
context:
space:
mode:
authorAaron Griffin <aaron@archlinux.org>2006-05-05 17:45:27 +0200
committerAaron Griffin <aaron@archlinux.org>2006-05-05 17:45:27 +0200
commit2c6b8367f0f526c6a12b91b85f2f7f3ef35b5559 (patch)
treed522dcac4d60b3ddebab4ef1ca5051c4410e7937 /hooks
parent079a37dfaa422323a5bb589fb036e23f83e2ac72 (diff)
downloadmkinitcpio-2c6b8367f0f526c6a12b91b85f2f7f3ef35b5559.tar.gz
mkinitcpio-2c6b8367f0f526c6a12b91b85f2f7f3ef35b5559.tar.xz
replace_root changes for encryption
- edits the existing cmdline for the /dev/mapper root device after applying decryption git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@66 880c04e9-e011-0410-abf7-b926e227c9cd
Diffstat (limited to 'hooks')
-rw-r--r--hooks/encrypt13
1 files changed, 13 insertions, 0 deletions
diff --git a/hooks/encrypt b/hooks/encrypt
index 30dfc12..9ae2d45 100644
--- a/hooks/encrypt
+++ b/hooks/encrypt
@@ -3,6 +3,17 @@
# encryption schemes
run_hook ()
{
+ replace_root ()
+ {
+ newcmdline=""
+ for cmd in $CMDLINE; do
+ case "$cmd" in
+ root=*) newcmdline="${newcmdline} root=${1}" ;;
+ *) newcmdline="${newcmdline} ${cmd}" ;;
+ esac
+ done
+ export CMDLINE="${newcmdline}"
+ }
mkdevice () { /bin/mknod "/dev/mapper/control" c ${1} ${2}; }
/bin/modprobe -a -q dm-crypt >/dev/null 2>&1
@@ -22,6 +33,7 @@ run_hook ()
done
if [ -e "/dev/mapper/root" ]; then
export root="/dev/mapper/root"
+ replace_root ${root}
else
err "Password succeeded, but root creation failed, aborting..."
exit 1
@@ -57,6 +69,7 @@ run_hook ()
else
if [ -e "/dev/mapper/root" ]; then
export root="/dev/mapper/root"
+ replace_root ${root}
else
err "Password succeeded, but root creation failed, aborting..."
exit 1