summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Ball <nullspoon@oper.io>2017-11-07 23:02:44 -0700
committerAaron Ball <nullspoon@oper.io>2017-11-07 23:02:44 -0700
commit2e4998ebde5696468faafcc4d684037f789aa465 (patch)
treed53d349a2b898a8d575824e2ca8ea62883005743
parentdcb05b580c7042784bfa803b9581e1601dbb6555 (diff)
downloadmkinitramfs-2e4998ebde5696468faafcc4d684037f789aa465.tar.gz
mkinitramfs-2e4998ebde5696468faafcc4d684037f789aa465.tar.xz
Add support for encrypted partition tables
Previously, it was assumed that the encrypted device contained a single filesystem. Now we run a partprobe on decrypt to detect an existing partition table inside the container. Behavior with devices that just contain a single filesystem is unaffected. This adds the partprobe binary to the initramfs.
-rwxr-xr-xinit3
-rwxr-xr-xmkinitramfs2
2 files changed, 4 insertions, 1 deletions
diff --git a/init b/init
index 06abfc4..8ea174a 100755
--- a/init
+++ b/init
@@ -108,6 +108,9 @@ setup_encrypted() {
read
fi
+ # Probe the new crypto device for an additional partition table
+ partprobe "/dev/mapper/${name}" 2>/dev/null 1>/dev/null
+
# Success. Return the path of the decrypted root device
echo "/dev/mapper/${name}"
}
diff --git a/mkinitramfs b/mkinitramfs
index 547d436..9ea6760 100755
--- a/mkinitramfs
+++ b/mkinitramfs
@@ -190,7 +190,7 @@ function main {
# List of binaries to exist in the new initramfs
resolve_bins \
bash cat echo ls cryptsetup chmod chown mount sleep umount clear cut \
- grep less tr which blkid reboot shutdown switch_root
+ grep less tr which blkid partprobe reboot shutdown switch_root
# Set up the archive source dir.

Generated by cgit