mirror of
https://git.busybox.net/busybox.git
synced 2024-12-18 18:03:29 +08:00
31 lines
586 B
Bash
31 lines
586 B
Bash
|
#!/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
|