diff options
author | Michael Zhou <zhoumichaely@gmail.com> | 2011-06-03 05:46:25 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-06-03 09:16:44 +0000 |
commit | e5d09818787635bcb8f91e46cdbd8f1b16b698d2 (patch) | |
tree | 655a8858ada1d794043da064c2cc3bfcad7b8ba4 /initramfs-init.in | |
parent | fa54730644827b80e9dcbbe9fb094e2c99d3d8bd (diff) | |
download | mkinitfs-e5d09818787635bcb8f91e46cdbd8f1b16b698d2.tar.bz2 mkinitfs-e5d09818787635bcb8f91e46cdbd8f1b16b698d2.tar.xz |
add encrypted root support
Diffstat (limited to 'initramfs-init.in')
-rwxr-xr-x | initramfs-init.in | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/initramfs-init.in b/initramfs-init.in index 924357c..4e15b5a 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -196,6 +196,17 @@ start_raid() { fi } +# start cryptsetup if exists +start_cryptsetup() { + [ -x /sbin/cryptsetup ] || return + modprobe dm-crypt + if [ -n "$KOPT_cryptroot" ]; then + modprobe dm-crypt + for map in /etc/keymap/*; do if [ -f "$map" ]; then zcat "$map" | loadkmap && break; fi ; done + cryptsetup luksOpen "$KOPT_cryptroot" "$KOPT_cryptdm" + fi +} + # start lvm if exists start_lvm() { [ -x /sbin/lvm ] || return @@ -317,6 +328,7 @@ if [ -n "$KOPT_root" ]; then [ -n "$KOPT_usbdelay" ] && sleep "$KOPT_usbdelay" wait_usb start_raid + start_cryptsetup start_lvm ebegin "Mounting root" retry_mount -o ro $KOPT_root $sysroot 2>/dev/null @@ -340,6 +352,7 @@ fi # incase we have alpine_dev on raid device... start_raid +start_cryptsetup start_lvm # locate boot media and mount it |