49 lines
1.0 KiB
Bash
49 lines
1.0 KiB
Bash
#!/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
|