diff options
author | Aaron Griffin <aaron@archlinux.org> | 2006-05-05 17:45:27 +0200 |
---|---|---|
committer | Aaron Griffin <aaron@archlinux.org> | 2006-05-05 17:45:27 +0200 |
commit | 2c6b8367f0f526c6a12b91b85f2f7f3ef35b5559 (patch) | |
tree | d522dcac4d60b3ddebab4ef1ca5051c4410e7937 | |
parent | 079a37dfaa422323a5bb589fb036e23f83e2ac72 (diff) | |
download | mkinitcpio-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
-rw-r--r-- | hooks/encrypt | 13 | ||||
-rw-r--r-- | init | 3 |
2 files changed, 15 insertions, 1 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 @@ -8,7 +8,8 @@ msg ":: Loading Initramfs" /bin/mount -t sysfs none /sys /bin/mount -t proc none /proc -CMDLINE=$(/bin/cat /proc/cmdline) +read CMDLINE </proc/cmdline +export CMDLINE for cmd in $CMDLINE; do case "$cmd" in |