diff options
author | Thomas Bächler <thomas@archlinux.org> | 2009-08-29 01:13:53 +0200 |
---|---|---|
committer | Dieter Plaetinck <dieter@plaetinck.be> | 2010-03-06 10:16:18 +0100 |
commit | 78c3557885de47020d34d9b7c1b3f6f1b7872633 (patch) | |
tree | e80b4c48c275b6c78ce3265b9c4c66152ad5d15c | |
parent | e7e816d8bd8ff505351497622ea7544b4aecdca4 (diff) |
Fix grub lines for various encryption setups
The first one used a deprecated syntax and failed whenever / was not called /dev/mapper/root
The second one got a cosmetical cleanup to be more consistent with what was set during the installer
The third one also failed whenever / was not called /dev/mapper/root
Signed-off-by: Dieter Plaetinck <dieter@plaetinck.be>
-rw-r--r-- | src/core/libs/lib-ui-interactive.sh | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/libs/lib-ui-interactive.sh b/src/core/libs/lib-ui-interactive.sh index e53966e..258fcf8 100644 --- a/src/core/libs/lib-ui-interactive.sh +++ b/src/core/libs/lib-ui-interactive.sh @@ -1093,20 +1093,21 @@ generate_grub_menulst() { then debug 'FS' 'Grub kernel line? Found / on dm_crypt on raw' raw_device=`echo "$ANSWER_DEVICES" | sed -n '2p' | cut -d ' ' -f1` - kernel="kernel $subdir/vmlinuz26 root=$raw_device ro" + crypt_device=`echo "$ANSWER_DEVICES" | sed -n '1p' | cut -d ' ' -f1` + kernel="kernel $subdir/vmlinuz26 root=$crypt_device cryptdevice=$raw_device:`basename $crypt_device` ro" elif echo "$ANSWER_DEVICES" | sed -n '1p' | grep -q 'lvm-lv$' && echo "$ANSWER_DEVICES" | sed -n '4p' | grep -q 'dm_crypt$' && echo "$ANSWER_DEVICES" | sed -n '5p' | grep -q 'raw$' then debug 'FS' 'Grub kernel line? Found / on lvm on dm_crypt on raw' lv_device=`echo "$ANSWER_DEVICES" | sed -n '1p' | cut -d ' ' -f1` - vg_device=`echo "$ANSWER_DEVICES" | sed -n '2p' | cut -d ' ' -f1` + crypt_device=`echo "$ANSWER_DEVICES" | sed -n '4p' | cut -d ' ' -f1` raw_device=`echo "$ANSWER_DEVICES" | sed -n '5p' | cut -d ' ' -f1` - kernel="kernel $subdir/vmlinuz26 root=$lv_device cryptdevice=$raw_device:`basename $vg_device` ro" + kernel="kernel $subdir/vmlinuz26 root=$lv_device cryptdevice=$raw_device:`basename $crypt_device` ro" elif echo "$ANSWER_DEVICES" | sed -n '1p' | grep -q 'dm_crypt$' && echo "$ANSWER_DEVICES" | sed -n '2p' | grep -q 'lvm-lv$' && echo "$ANSWER_DEVICES" | sed -n '5p' | grep -q 'raw$' then debug 'FS' 'Grub kernel line? Found / on dm_crypt on lvm on raw' crypt_device=`echo "$ANSWER_DEVICES" | sed -n '1p' | cut -d ' ' -f1` lv_device=`echo "$ANSWER_DEVICES" | sed -n '2p' | cut -d ' ' -f1` - kernel=" kernel $subdir/vmlinuz26 root=$crypt_device cryptdevice=$lv_device:root ro" + kernel=" kernel $subdir/vmlinuz26 root=$crypt_device cryptdevice=$lv_device:`basename $crypt_device` ro" elif echo "$ANSWER_DEVICES" | sed -n '1p' | grep -q 'raw$' then debug 'FS' 'Grub kernel line? Found / on raw' |