#!/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