#!/bin/bash

ROT="\033[1;31m"
GRUEN="\033[1;32m"
BLAU="\033[1;34m"
SCHWARZ="\033[1;30m"
WEISS="\033[0;39m"

SD_DEVICE=sdb
SOURCE_PATH=tmp/deploy/images
#SD_IMAGE=$SOURCE_PATH/image-exceet-mx6ssielaff.sdcard
SD_IMAGE=$SOURCE_PATH/image-exceet-mx6sexceet.sdcard
#SD_IMAGE=$SOURCE_PATH/image-exceet-mx6dexceet.sdcard

###############################################################################
# Funktionen
###############################################################################
function print_error ()
{
	echo -e "	$ROT$1$WEISS"
	exit -1
}

function print_warning ()
{
	echo -e "	$ROT$1$WEISS"
}

function check_file()
{
	if [ -f $1 ];
	then
		echo "	$2 (Datei $1) gefunden"
	else
		print_error "$2 (Datei $1) nicht gefunden"
	fi
}

###############################################################################

date1=$(date +"%s")

if test -n "${MACHINE}"; then
    SD_IMAGE="${SOURCE_PATH}/image-exceet-${MACHINE}.sdcard"
fi

if [ "$1" != "" ]; then
 SD_IMAGE="$SOURCE_PATH/$1.sdcard"
fi
echo "Using image file ${SD_IMAGE}"


# untersuche, ob Partitionen gemountet sind, wenn ja, umount
for i in $(mount | sed -n -e "/\/dev\/${SD_DEVICE}/p"); do
	sdx=$(echo "$i" | grep "/dev/$SD_DEVICE")
	if [ $sdx ]; then
		echo "unmount von $sdx"
		umount $sdx
	fi
done

echo -e -n $BLAU
echo -e "Erzeuge SD-Karte aus Image: $PWD/$SD_IMAGE"

dd if=$SD_IMAGE of=/dev/$SD_DEVICE bs=1M conv=fsync

date2=$(date +"%s")
diff=$((date2-$date1))
echo -e "Dateien auf SD-Karte kopiert! Zeit: $diff Sekunde(n)"
echo -e -n $WEISS