summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@cryptonomic.net>2020-11-17 17:23:32 -0500
committerAndrew Cady <d@cryptonomic.net>2020-11-17 17:24:02 -0500
commit3ac7703db30dca04ce2027fb7a27d139802dae91 (patch)
tree5fb55644d6687660503871d19c3c1302629be69f
parent1082f65d0b784e8f31cb340dbb4e2a07b6bd4625 (diff)
partvi: make the partition table
-rw-r--r--partitions/.gitignore1
-rwxr-xr-xsrc/partvi50
2 files changed, 50 insertions, 1 deletions
diff --git a/partitions/.gitignore b/partitions/.gitignore
index e35d885..6629469 100644
--- a/partitions/.gitignore
+++ b/partitions/.gitignore
@@ -1 +1,2 @@
1_build 1_build
2test.mnt/
diff --git a/src/partvi b/src/partvi
index 16e14b3..c26beee 100755
--- a/src/partvi
+++ b/src/partvi
@@ -147,7 +147,13 @@ quietly()
147{ 147{
148 "$@" >/dev/null 2>&1 || true 148 "$@" >/dev/null 2>&1 || true
149} 149}
150loudly()
151{
152 (set -x
153 "$@")
154}
150 155
156quietly $sudo kpartx -dv /dev/mapper/"$map_name"
151quietly $sudo dmsetup remove "$map_name" 157quietly $sudo dmsetup remove "$map_name"
152quietly $sudo losetup -D 158quietly $sudo losetup -D
153 159
@@ -182,5 +188,47 @@ do
182 188
183done 189done
184$sudo dmsetup -v create "$map_name" "$map" 190$sudo dmsetup -v create "$map_name" "$map"
185$sudo dmsetup remove "$map_name"
186 191
192dev=/dev/mapper/$map_name
193(
194 set --
195 i=1
196 while read a b c d e
197 do
198 echo "a=$a c=$c"
199 [ "$a" -gt 0 ] || continue
200 [ "$b" -gt 2048 ] || continue
201 [ "$c" = linear ] || continue
202
203 set -- "$@" -n "$i:$a:$((a + b - 1))"
204 let ++i
205 done < "$map"
206 $sudo sgdisk -o "$@" -p "$dev"
207)
208$sudo kpartx -u "$dev"
209
210for f in part*.conf
211do
212 notice "Processing $f"
213 img=${f%.conf}
214
215
216 read_config_file "$img" || warn "Received error return from command: read_config_file $img"
217 require_var name
218
219 require_var type
220 case "$type" in
221 efi-system-partition|bios-grub|samizdat-*|dm-verity-data)
222 dev=/dev/mapper/$map_name${img#part}
223 mkdir -p test.mnt
224 loudly $sudo mount "$dev" test.mnt
225 $sudo umount test.mnt
226 ;;
227 *) notice "Not mounting $name" ;;
228 esac
229done
230
231
232quietly $sudo kpartx -dv "$dev"
233quietly $sudo dmsetup remove "$map_name"
234quietly $sudo losetup -D