Files
dts-scripts/scripts/dts-boot.sh
T
Michał Iwanicki f343c45024 dts-profile: set ERR_LOG_FILE to '/dev/null'
This is to allow using some functions in source `$DTS_FUNCTIONS`
without entering dts-boot first e.g. board_config.

Signed-off-by: Michał Iwanicki <michal.iwanicki@3mdeb.com>
2026-01-14 12:23:08 +01:00

60 lines
1.8 KiB
Bash

#!/bin/bash
# SPDX-FileCopyrightText: 2024 3mdeb <contact@3mdeb.com>
#
# SPDX-License-Identifier: Apache-2.0
SBIN_DIR="/usr/sbin"
FUM_EFIVAR="/sys/firmware/efi/efivars/FirmwareUpdateMode-d15b327e-ff2d-4fc1-abf6-c12bd08c1359"
# shellcheck source=../dts-profile.sh
source "/etc/profile.d/dts-profile.sh"
export BASH_ENV="$SBIN_DIR/logging"
export TMP_LOG_DIR="/tmp/logs"
export ERR_LOG_FILE_REALPATH
export DTS_LOG_FILE
export DTS_VERBOSE_LOG_FILE
export ERR_LOG_FILE
export SHELLOPTS
mkdir -p "$TMP_LOG_DIR"
# $ERR_LOG_FILE is fd that can only be written to: '>()'. To copy logs
# we need underlying file that can be copied
ERR_LOG_FILE_REALPATH="/var/local/dts-err_$(basename "$(tty)").log"
DTS_LOG_FILE="$TMP_LOG_DIR/dts_$(basename "$(tty)").log"
DTS_VERBOSE_LOG_FILE="$TMP_LOG_DIR/dts-verbose_$(basename "$(tty)").log"
# shellcheck source=./logging.sh
source "$BASH_ENV"
start_trace_logging
start_logging
if [[ -z "$ERR_LOG_FILE" || "$ERR_LOG_FILE" == "/dev/null" ]]; then
# pass everything written to $ERR_LOG_FILE to logger function and save it's
# output to $ERR_LOG_FILE_REALPATH file
exec {ERR_LOG_FILE}> >(logger >>"$ERR_LOG_FILE_REALPATH")
ERR_LOG_FILE="/proc/$$/fd/$ERR_LOG_FILE"
fi
# shellcheck source=../include/dts-environment.sh
source $DTS_ENV
# shellcheck source=../include/dts-functions.sh
source $DTS_FUNCS
# shellcheck source=../include/hal/dts-hal.sh
source $DTS_HAL
mkdir -p "$TEMP_DIR"
if $FSREAD_TOOL test -f "${FUM_EFIVAR}"; then
choice="$(
ask_for_choice "You have entered Firmware Update Mode." \
"1" "If you wish to continue with unattended firmware update process" \
"9" "If you wish to go back to Dasharo Tools Suite menu"
)"
case "$choice" in
1) $SBIN_DIR/dasharo-deploy update fum ;;
9) $SBIN_DIR/dts ;;
esac
else
$SBIN_DIR/dts
fi