#!/bin/bash -e
# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
#For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
if [ $# -ne 1 ]; then
echo "Error! Invalid argument count"
exit -1
fi
IMAGE_FILE_DIR="$1"
dd if=/dev/zero of=$IMAGE_FILE_DIR/test_disk.img bs=512 count=8
sfdisk $IMAGE_FILE_DIR/test_disk.img << ==sfdisk
,1,L
,1,L
,,L
==sfdisk
dd if=/dev/zero of=$IMAGE_FILE_DIR/test_disk_ext.img bs=512 count=16
sfdisk $IMAGE_FILE_DIR/test_disk_ext.img << ==sfdisk
,1,L
,,E
,1,L
,1,L
,1,L
,1,L
,1,L
,,L
==sfdisk
dd if=/dev/zero of=$IMAGE_FILE_DIR/test_disk_bad_tmp.img bs=512 count=16
sfdisk $IMAGE_FILE_DIR/test_disk_bad_tmp.img << ==sfdisk
,1,L
==sfdisk
# Modify parition table to simply broke it, which ten can be tested.
{ head -c 458 $IMAGE_FILE_DIR/test_disk_bad_tmp.img; printf '\xFF'; tail -c +460 $IMAGE_FILE_DIR/test_disk_bad_tmp.img; } > $IMAGE_FILE_DIR/test_disk_bad.img
rm $IMAGE_FILE_DIR/test_disk_bad_tmp.img