From 3ac7703db30dca04ce2027fb7a27d139802dae91 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Tue, 17 Nov 2020 17:23:32 -0500 Subject: partvi: make the partition table --- src/partvi | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to 'src/partvi') diff --git a/src/partvi b/src/partvi index 16e14b3..c26beee 100755 --- a/src/partvi +++ b/src/partvi @@ -147,7 +147,13 @@ quietly() { "$@" >/dev/null 2>&1 || true } +loudly() +{ + (set -x + "$@") +} +quietly $sudo kpartx -dv /dev/mapper/"$map_name" quietly $sudo dmsetup remove "$map_name" quietly $sudo losetup -D @@ -182,5 +188,47 @@ do done $sudo dmsetup -v create "$map_name" "$map" -$sudo dmsetup remove "$map_name" +dev=/dev/mapper/$map_name +( + set -- + i=1 + while read a b c d e + do + echo "a=$a c=$c" + [ "$a" -gt 0 ] || continue + [ "$b" -gt 2048 ] || continue + [ "$c" = linear ] || continue + + set -- "$@" -n "$i:$a:$((a + b - 1))" + let ++i + done < "$map" + $sudo sgdisk -o "$@" -p "$dev" +) +$sudo kpartx -u "$dev" + +for f in part*.conf +do + notice "Processing $f" + img=${f%.conf} + + + read_config_file "$img" || warn "Received error return from command: read_config_file $img" + require_var name + + require_var type + case "$type" in + efi-system-partition|bios-grub|samizdat-*|dm-verity-data) + dev=/dev/mapper/$map_name${img#part} + mkdir -p test.mnt + loudly $sudo mount "$dev" test.mnt + $sudo umount test.mnt + ;; + *) notice "Not mounting $name" ;; + esac +done + + +quietly $sudo kpartx -dv "$dev" +quietly $sudo dmsetup remove "$map_name" +quietly $sudo losetup -D -- cgit v1.2.3