mirror of https://github.com/CIRCL/Circlean
71 lines
1.9 KiB
Bash
Executable File
71 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Doc: http://wiki.osdev.org/Loopback_Device
|
|
|
|
|
|
set -e
|
|
set -x
|
|
|
|
FS_EXT='ext2 ext3 ext4'
|
|
FS_VFAT='vfat'
|
|
FS_NTFS='ntfs'
|
|
|
|
SIZE_MB='128'
|
|
|
|
# System
|
|
FS="${FS_EXT} ${FS_VFAT} ${FS_NTFS}"
|
|
|
|
IMAGE_DEST="testcase_dest.vfat"
|
|
dd if=/dev/zero of=${IMAGE_DEST} bs=516096c count=200
|
|
parted -s ${IMAGE_DEST} mklabel msdos
|
|
parted -s ${IMAGE_DEST} mkpart primary 8192s 201599s
|
|
lo=`losetup -f`
|
|
losetup -o$((8192 * 512)) ${lo} ${IMAGE_DEST}
|
|
mkfs.vfat ${lo}
|
|
losetup -d ${lo}
|
|
|
|
sleep 5
|
|
|
|
for f in $FS; do
|
|
# Create files of 128Mb
|
|
OUT_NAME_NORM="testcase."${f}
|
|
dd if=/dev/zero of=${OUT_NAME_NORM} bs=516096c count=200
|
|
parted -s ${OUT_NAME_NORM} mklabel msdos
|
|
if [ $f = ${FS_VFAT} ]; then
|
|
OUT_NAME_PART="testcase.part."${f}
|
|
dd if=/dev/zero of=${OUT_NAME_PART} bs=516096c count=200
|
|
parted -s ${OUT_NAME_PART} mklabel msdos
|
|
parted -s ${OUT_NAME_PART} mkpart primary 8192s 122879s
|
|
parted -s ${OUT_NAME_PART} mkpart primary 122880s 201599s
|
|
|
|
lo=`losetup -f`
|
|
losetup -o$((8192 * 512)) ${lo} ${OUT_NAME_PART}
|
|
mkfs.${f} ${lo} 57344
|
|
losetup -d ${lo}
|
|
losetup -o$((122880 * 512)) ${lo} ${OUT_NAME_PART}
|
|
mkfs.${f} ${lo} 39360
|
|
losetup -d ${lo}
|
|
sleep 5
|
|
|
|
parted -s ${OUT_NAME_NORM} mkpart primary 8192s 201599s
|
|
losetup -o$((8192 * 512)) ${lo} ${OUT_NAME_NORM}
|
|
mkfs.${f} ${lo}
|
|
losetup -d ${lo}
|
|
sleep 5
|
|
elif [ $f = ${FS_NTFS} ]; then
|
|
parted -s ${OUT_NAME_NORM} mkpart primary 8192s 201599s
|
|
lo=`losetup -f`
|
|
losetup -o$((8192 * 512)) ${lo} ${OUT_NAME_NORM}
|
|
mk${f} -f -I ${lo}
|
|
losetup -d ${lo}
|
|
sleep 5
|
|
else
|
|
parted -s ${OUT_NAME_NORM} mkpart primary 8192s 201599s
|
|
lo=`losetup -f`
|
|
losetup -o$((8192 * 512)) ${lo} ${OUT_NAME_NORM}
|
|
mkfs.${f} ${lo}
|
|
losetup -d ${lo}
|
|
sleep 5
|
|
fi
|
|
done
|
|
|