summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@cryptonomic.net>2021-02-23 21:36:41 -0500
committerAndrew Cady <d@cryptonomic.net>2021-02-23 21:36:41 -0500
commit6889986a93415a55691fb145abe2de4cf959b62e (patch)
tree729042271a7f10e7c807e5a4808638e9a12d10f3
parentba36135c426fda0682e51c630b8733992c3945c6 (diff)
partvi: create key.img when $1=="key"
-rwxr-xr-xsrc/partvi32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/partvi b/src/partvi
index b180812..e35169e 100755
--- a/src/partvi
+++ b/src/partvi
@@ -248,6 +248,12 @@ create_ptable_conf()
248 start=$((start + devsz)) 248 start=$((start + devsz))
249} 249}
250 250
251KEY_ONLY=
252if [ "$1" = 'key' ]
253then
254 KEY_ONLY=y
255fi
256
251set -e 257set -e
252 258
253builddir=_build 259builddir=_build
@@ -260,7 +266,14 @@ then sudo=
260else sudo=sudo 266else sudo=sudo
261fi 267fi
262 268
263if whole=$(losetup -j whole.img -O NAME --noheadings) 269if [ "$KEY_ONLY" ]
270then
271 target=key.img
272else
273 target=whole.img
274fi
275
276if whole=$(losetup -j "$target" -O NAME --noheadings)
264then 277then
265 quietly $sudo umount *.mnt 278 quietly $sudo umount *.mnt
266 quietly $sudo kpartx -dv "$whole" 279 quietly $sudo kpartx -dv "$whole"
@@ -306,15 +319,18 @@ pee_on_table()
306 $sudo sfdisk -Y dos "$dev" < "$DOS_TABLE_FILE" || return 319 $sudo sfdisk -Y dos "$dev" < "$DOS_TABLE_FILE" || return
307} 320}
308 321
309truncate -s0 whole.img 322
310for f in part*.conf 323clone_parts_to_target()
311do 324{
312 f=$(readlink -e _build/"${f%.conf}") || break 325 f=$(readlink -e _build/"${f%.conf}") || break
313 ficlonerange.py "$f" whole.img 326 ficlonerange.py "$f" "$target"
314done 327}
328
329truncate -s0 "$target"
330iterate_partitions clone_parts_to_target
315 331
316$sudo losetup -L -f whole.img 332$sudo losetup -L -f "$target"
317whole=$(losetup -j whole.img -O NAME --noheadings) 333whole=$(losetup -j "$target" -O NAME --noheadings)
318(pee_on_table "$whole") || exit 334(pee_on_table "$whole") || exit
319 335
320$sudo kpartx -u "$whole" 336$sudo kpartx -u "$whole"