aboutsummaryrefslogtreecommitdiffstats
path: root/initramfs-init.in
diff options
context:
space:
mode:
authorMichael Zhou <zhoumichaely@gmail.com>2011-06-03 05:46:25 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-06-03 09:16:44 +0000
commite5d09818787635bcb8f91e46cdbd8f1b16b698d2 (patch)
tree655a8858ada1d794043da064c2cc3bfcad7b8ba4 /initramfs-init.in
parentfa54730644827b80e9dcbbe9fb094e2c99d3d8bd (diff)
downloadmkinitfs-e5d09818787635bcb8f91e46cdbd8f1b16b698d2.tar.bz2
mkinitfs-e5d09818787635bcb8f91e46cdbd8f1b16b698d2.tar.xz
add encrypted root support
Diffstat (limited to 'initramfs-init.in')
-rwxr-xr-xinitramfs-init.in13
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