diff options
Diffstat (limited to 'qemu_multiarch_testing/make-hdc-img.sh')
-rwxr-xr-x | qemu_multiarch_testing/make-hdc-img.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/qemu_multiarch_testing/make-hdc-img.sh b/qemu_multiarch_testing/make-hdc-img.sh new file mode 100755 index 0000000..3c35f4e --- /dev/null +++ b/qemu_multiarch_testing/make-hdc-img.sh @@ -0,0 +1,30 @@ +#!/bin/sh -ex + +mountpoint -q / +[ ! -e hdc.img.dir ] + +cleanup() +{ + trap - EXIT + if mountpoint -q hdc.img.dir; then + umount -d hdc.img.dir + fi + mountpoint -q hdc.img.dir || + rm -rf hdc.img.dir + exit $@ +} + +trap 'cleanup $?' EXIT +trap 'cleanup 1' HUP PIPE INT QUIT TERM + +size=$(du -ks hdc.dir | sed -rn 's/^([0-9]+).*/\1/p') +[ "$size" -gt 0 ] + +rm -f hdc.img +dd if=/dev/zero of=hdc.img count=1 bs=1024 seek=$(($size*2)) +mkfs.ext3 -q -F -b 1024 -i 4096 hdc.img +tune2fs -c 0 -i 0 hdc.img +mkdir hdc.img.dir +mount -o loop hdc.img hdc.img.dir +cp -a hdc.dir/* hdc.img.dir/ +umount -d hdc.img.dir |