blob: 0ee90078bdfb99b0e08a8c5f35e6cff78dcde182 [file] [log] [blame]
#!/bin/bash -e
DEVICE_NODE="/dev/mmcblk0"
DEFAULT_FS_TYPE="btrfs"
#
# check device node exist
#
if [[ ! -b "${DEVICE_NODE}" ]]; then
echo "${DEVICE_NODE} is not available"
exit 0
fi
#
# check if device mounted correctly
#
if ! (mount || true) | grep "${DEVICE_NODE}"> /dev/null; then
echo "${DEVICE_NODE} is not mounted"
else
echo "${DEVICE_NODE} is mounted"
exit 0
fi
#
# check filesystem
#
FS_TYPE_CHECK="$(blkid "${DEVICE_NODE}" | sed 's/.*TYPE="\([^"]*\).*/\1/' || true)"
if [[ "${FS_TYPE_CHECK}" = "" ]]; then
FS_TYPE="unknown"
else
FS_TYPE="${FS_TYPE_CHECK}"
fi
case "${FS_TYPE}" in
"${DEFAULT_FS_TYPE}")
echo "Filesystem (${FS_TYPE}) found on ${DEVICE_NODE}"
;;
*)
echo "No or unexpected filesystem (${FS_TYPE}) found on ${DEVICE_NODE}"
if ! output=$(mkfs."${DEFAULT_FS_TYPE}" --force "${DEVICE_NODE}" 2>&1); then
echo "failed to create ${DEFAULT_FS_TYPE} on ${DEVICE_NODE}:"
echo "${output}"
exit 1
fi
;;
esac