Files
own-your-cloudkey/fstab/onboot.sh
2025-12-11 10:50:33 +02:00

52 lines
1.3 KiB
Bash

#!/bin/bash
## There is more to this script but use this version for now.
## When you get to starting services at boot, there will be
## a new version of this script.
FSTAB_FILE="/root/fstab"
LOG_FILE="/tmp/onboot.log"
LED_LOADING="/root/onboot.loading.led"
LED_LOADING_ERRORS="/root/onboot.loading.errors.led"
LED_LOADED="/root/onboot.loaded.led"
LED_ERRORS="/root/onboot.errors.led"
error_state=false
rm -f "${LOG_FILE}"
touch "${LOG_FILE}"
./doled.sh "${LED_LOADING}" &
function doLog {
echo "${1}"
echo "$(date) > ${1}" >> "${LOG_FILE}"
}
doLog "Starting OnBoot sequence..."
if [[ ! -f ${FSTAB_FILE} ]]; then
./doled.sh "${LED_ERRORS}"
./doled.sh "${LED_LOADING}" remove
doLog "${FSTAB_FILE} does not exist! Exiting..."
exit 1
fi
doLog "Loading ${FSTAB_FILE}..."
while read -r fs mountpoint fstype opts dump pass; do
[[ "${fs}" =~ ^#.*$ || -z "${fs}" ]] && continue
if [ ! -d "${mountpoint}" ]; then
doLog "Creating mountpoint: ${mountpoint}"
mkdir -p "${mountpoint}"
fi
doLog "Mounting ${fs} on ${mountpoint} (type=${fstype}, opts=${opts})"
mount -t "${fstype}" -o "${opts}" "${fs}" "${mountpoint}" || {
./doled.sh "${LED_LOADING_ERRORS}"
doLog "Failed to mount ${fs} on ${mountpoint}"
./doled.sh "${LED_LOADING}" remove
error_state=true
}
done < "${FSTAB_FILE}"