mirror of
https://github.com/Dasharo/dts-scripts.git
synced 2026-06-13 19:16:21 -07:00
hcl-report: add progress bar wrapper
Add progress bar wrapper to avoid code repetition. Signed-off-by: Mateusz Kusiak <mateusz.kusiak@3mdeb.com>
This commit is contained in:
@@ -11,13 +11,17 @@ source $DTS_FUNCS
|
||||
# shellcheck source=../include/hal/dts-hal.sh
|
||||
source $DTS_HAL
|
||||
|
||||
# Helper vars
|
||||
FW_DUMP_DEFAULT_PATH="logs/rom.bin"
|
||||
fw_bin_path="$FW_DUMP_DEFAULT_PATH"
|
||||
|
||||
# Vars for controlling progress bar
|
||||
bar_cntr=0
|
||||
BAR_TASKS_TOTAL=30
|
||||
|
||||
# Helper vars
|
||||
FW_DUMP_DEFAULT_PATH="logs/rom.bin"
|
||||
fw_bin_path="$FW_DUMP_DEFAULT_PATH"
|
||||
progress_bar_update() {
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
}
|
||||
|
||||
update_result() {
|
||||
TOOL=$1
|
||||
@@ -76,52 +80,52 @@ fi
|
||||
# echo "Dumping PCI configuration space and topology..."
|
||||
$LSPCI -nnvvvxxxx >logs/lspci.log 2>logs/lspci.err.log
|
||||
update_result "PCI configuration space and topology" logs/lspci.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping USB devices and topology..."
|
||||
$LSUSB -vvv >logs/lsusb.log 2>logs/lsusb.err.log
|
||||
update_result "USB devices and topology" logs/lsusb.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping Super I/O configuration..."
|
||||
$SUPERIOTOOL -deV >logs/superiotool.log 2>logs/superiotool.err.log
|
||||
update_result "Super I/O configuration" logs/superiotool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping Embedded Controller configuration (this may take a while if EC is not present)..."
|
||||
$ECTOOL -ip >logs/ectool.log 2>logs/ectool.err.log
|
||||
update_result "EC configuration" logs/ectool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping MSRs..."
|
||||
$MSRTOOL >logs/msrtool.log 2>logs/msrtool.err.log
|
||||
update_result "MSRs" logs/msrtool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping SMBIOS tables..."
|
||||
$DMIDECODE >logs/dmidecode.log 2>logs/dmidecode.err.log
|
||||
update_result "SMBIOS tables" logs/dmidecode.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Decoding BIOS information..."
|
||||
biosdecode >logs/biosdecode.log 2>logs/biosdecode.err.log
|
||||
update_result "BIOS information" logs/biosdecode.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Extracting CMOS NVRAM..."
|
||||
nvramtool -x >logs/nvramtool.log 2>logs/nvramtool.err.log
|
||||
update_result "CMOS NVRAM" logs/nvramtool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping Intel configuration registers..."
|
||||
inteltool -a >logs/inteltool.log 2>logs/inteltool.err.log
|
||||
update_result "Intel configuration registers" logs/inteltool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping AMD configuration registers..."
|
||||
$AMDTOOL on_amd_mock -a >logs/amdtool.log 2>logs/amdtool.err.log
|
||||
update_result "AMD configuration registers" logs/amdtool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Generating GPIO configuration C header files for coreboot..."
|
||||
intelp2m -file logs/inteltool.log -fld cb -i -p snr -o logs/gpio_snr.h >logs/intelp2m.log 2>logs/intelp2m.err.log
|
||||
@@ -129,17 +133,17 @@ intelp2m -file logs/inteltool.log -fld cb -i -p cnl -o logs/gpio_cnl.h >>logs/in
|
||||
intelp2m -file logs/inteltool.log -fld cb -i -p apl -o logs/gpio_apl.h >>logs/intelp2m.log 2>>logs/intelp2m.err.log
|
||||
intelp2m -file logs/inteltool.log -fld cb -i -p lbg -o logs/gpio_lbg.h >>logs/intelp2m.log 2>>logs/intelp2m.err.log
|
||||
update_result "GPIO configuration C header files" logs/intelp2m.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping kernel dmesg..."
|
||||
$DMESG >logs/dmesg.log 2>logs/dmesg.err.log
|
||||
update_result "kernel dmesg" logs/dmesg.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping ACPI tables..."
|
||||
acpidump >logs/acpidump.log 2>logs/acpidump.err.log
|
||||
update_result "ACPI tables" logs/acpidump.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping Audio devices configuration..."
|
||||
# FIXME: https://github.com/Dasharo/dts-scripts/issues/108
|
||||
@@ -168,22 +172,22 @@ done
|
||||
for x in /sys/class/sound/card0/hw*; do cat "$x/init_pin_configs" >logs/pin_"$(basename "$x")" 2>logs/pin_"$(basename "$x")".err.log; done
|
||||
for x in /proc/asound/card0/codec#*; do cat "$x" >logs/"$(basename "$x")" 2>logs/"$(basename "$x")".err.log; done
|
||||
update_result "Audio devices configuration" 0 UNKNOWN
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping CPU info..."
|
||||
cat /proc/cpuinfo >logs/cpuinfo.log 2>logs/cpuinfo.err.log
|
||||
update_result "CPU info" logs/cpuinfo.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping I/O ports..."
|
||||
cat /proc/ioports >logs/ioports.log 2>logs/ioports.err.log
|
||||
update_result "I/O ports" logs/ioports.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Dumping input bus types..."
|
||||
cat /sys/class/input/input*/id/bustype >logs/input_bustypes.log
|
||||
update_result "Input bus types" logs/ioports.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# flashrom does not support QEMU. TODO: this could be handled in a better way:
|
||||
if [ "${SYSTEM_VENDOR}" != "QEMU" ] && [ "${SYSTEM_VENDOR}" != "Emulation" ]; then
|
||||
@@ -219,7 +223,7 @@ if [ "${SYSTEM_VENDOR}" != "QEMU" ] && [ "${SYSTEM_VENDOR}" != "Emulation" ]; th
|
||||
update_result "Firmware image" logs/flashrom_read.err.log
|
||||
fi
|
||||
## Update progress bar anyway
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# Run psptool on dumped or external firmware
|
||||
if [ ! -f "$fw_bin_path" ] && [ -d "/firmware/external" ]; then
|
||||
@@ -242,7 +246,7 @@ psptool -E "$fw_bin_path" >>logs/psptool.log 2>>logs/psptool.err.log
|
||||
# print warnings, not errors.
|
||||
# This needs to be fixed at tool level.
|
||||
update_result "PSP firmware entries" logs/psptool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Probing all I2C buses..."
|
||||
MAX_I2C_ID=$(i2cdetect -l | awk 'BEGIN{c1=0} //{c1++} END{print "",--c1}')
|
||||
@@ -251,7 +255,7 @@ for bus in $(seq 0 "$MAX_I2C_ID"); do
|
||||
i2cdetect -y "$bus" >>logs/i2cdetect.log 2>>logs/i2cdetect.err.log
|
||||
done
|
||||
update_result "I2C bus" logs/i2cdetect.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Decompiling ACPI tables..."
|
||||
# FIXME: https://github.com/Dasharo/dts-scripts/issues/109
|
||||
@@ -262,48 +266,48 @@ if pushd logs/acpi >/dev/null 2>>"$ERR_LOG_FILE"; then
|
||||
popd >/dev/null 2>>"$ERR_LOG_FILE" || return 1
|
||||
fi
|
||||
update_result "ACPI tables" 0 UNKNOWN
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Getting touchpad information..."
|
||||
touchpad-info >logs/touchpad.log 2>logs/touchpad.err.log
|
||||
update_result "Touchpad information" logs/touchpad.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Getting DIMMs information..."
|
||||
decode-dimms >logs/decode-dimms.log 2>logs/decode-dimms.err.log
|
||||
update_result "DIMMs information" logs/decode-dimms.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Getting CBMEM table..."
|
||||
$CBMEM >logs/cbmem.log 2>logs/cbmem.err.log
|
||||
update_result "CBMEM table information" logs/cbmem.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Getting CBMEM console..."
|
||||
$CBMEM -1 >logs/cbmem_console.log 2>logs/cbmem_console.err.log
|
||||
update_result "CBMEM console" logs/cbmem_console.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Getting TPM information..."
|
||||
find "$(realpath /sys/class/tpm/tpm*)" -type f -print -exec cat {} \; >logs/tpm_version.log 2>logs/tpm_version.err.log
|
||||
update_result "TPM information" logs/tpm_version.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# dump all PCRs
|
||||
rm -f "logs/tpm_pcrs.log" "logs/tpm_pcrs.err.log"
|
||||
$DUMP_PCRS >>"logs/tpm_pcrs.log" 2>>"logs/tpm_pcrs.err.log"
|
||||
update_result "TPM PCRs" logs/tpm_pcrs.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Checking AMT..."
|
||||
$MEI_AMT_CHECK >logs/amt-check.log 2>logs/amt-check.err.log
|
||||
update_result "AMT information" logs/amt-check.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Checking ME..."
|
||||
$INTELMETOOL -m >logs/intelmetool.log 2>logs/intelmetool.err.log
|
||||
update_result "ME information" logs/intelmetool.err.log
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
|
||||
# echo "Getting graphics VBT"
|
||||
# FIXME: https://github.com/Dasharo/dts-scripts/issues/110
|
||||
@@ -313,7 +317,7 @@ for file in $files; do
|
||||
cp "$file" "logs/dri_$(basename "$(dirname "$file")")_$(basename "$file")"
|
||||
done
|
||||
update_result "Graphics VBT" 0 UNKNOWN
|
||||
draw_progress_bar "$((++bar_cntr))" "$BAR_TASKS_TOTAL"
|
||||
progress_bar_update
|
||||
# next two echo cmds helps with printing
|
||||
echo
|
||||
echo
|
||||
|
||||
Reference in New Issue
Block a user