52 lines
1.3 KiB
Bash
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}" |