Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions SystemReady-band/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ This image comprise of single FAT file system partition recognized by UEFI: <br
- 'BOOT_ACS' <br />
Approximate size: 640 MB <br />
contains bootable applications and test suites. <br />
contains a 'acs_results' directory which stores logs of the automated execution of ACS.
contains a 'acs_results_template' directory which stores logs of the automated execution of ACS.


## Image Directory Structure
Expand Down Expand Up @@ -145,7 +145,7 @@ This image comprise of single FAT file system partition recognized by UEFI: <br
│      ├── parser.nsh
│      ├── Parser.py
│   └── Parser.efi
├── acs_results
├── acs_results_template
├── Image
└── ramdisk-buildroot.img
```
Expand Down
8 changes: 5 additions & 3 deletions SystemReady-band/build-scripts/make_image.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash

# @file
# Copyright (c) 2021-2025, Arm Limited or its affiliates. All rights reserved.
# Copyright (c) 2021-2026, Arm Limited or its affiliates. All rights reserved.
# SPDX-License-Identifier : Apache-2.0

# Licensed under the Apache License, Version 2.0 (the "License");
Expand Down Expand Up @@ -81,7 +81,9 @@ create_fatpart ()
mmd -i $fatpart_name ::/acs_tests/debug
mmd -i $fatpart_name ::/acs_tests/app
mmd -i $fatpart_name ::/acs_tests/bbsr-keys
mmd -i $fatpart_name ::/acs_results
mmd -i $fatpart_name ::/acs_results_template
mmd -i $fatpart_name ::/acs_results_template/acs_results
mmd -i $fatpart_name ::/acs_results_template/os-logs
mmd -i $fatpart_name ::/acs_tests/config
mmd -i $fatpart_name ::/acs_tests/parser

Expand Down Expand Up @@ -178,7 +180,7 @@ prepare_disk_image ()
echo "----------------------------------------------------"
}
exit_fun() {
exit 1 # Exit script
exit 1 # Exit script
}

#prepare the disk image
Expand Down
13 changes: 8 additions & 5 deletions common/linux_scripts/bsa.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

LOG_DIR="/mnt/acs_results_template/acs_results"

# Parse config file
automation_enabled="`python3 /mnt/acs_tests/parser/Parser.py -automation`"
if [ "$automation_enabled" == "True" ]; then
Expand All @@ -27,16 +30,16 @@ echo "Running Linux BSA tests"
if [ "$automation_enabled" == "True" ] && [ "$bsa_enabled" == "False" ]; then
echo "********* BSA is disabled in config file**************"
else
mkdir -p /mnt/acs_results/linux
mkdir -p ${LOG_DIR}/linux
if [ -f /lib/modules/bsa_acs.ko ]; then
insmod /lib/modules/bsa_acs.ko
echo "SystemReady band ACS v3.1.1" > /mnt/acs_results/linux/BsaResultsApp.log
echo "SystemReady band ACS v3.1.1" > ${LOG_DIR}/linux/BsaResultsApp.log
if [ "$automation_enabled" == "False" ]; then
/bin/bsa --skip PCI_MM_03 --skip-dp-nic-ms >> /mnt/acs_results/linux/BsaResultsApp.log
/bin/bsa --skip PCI_MM_03 --skip-dp-nic-ms >> ${LOG_DIR}/linux/BsaResultsApp.log
else
$bsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> /mnt/acs_results/linux/BsaResultsApp.log
$bsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> ${LOG_DIR}/linux/BsaResultsApp.log
fi
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > /mnt/acs_results/linux/BsaResultsKernel.log
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > ${LOG_DIR}/linux/BsaResultsKernel.log
sync /mnt
sleep 5
echo "Linux BSA test Execution - Completed"
Expand Down
10 changes: 6 additions & 4 deletions common/linux_scripts/fwts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.

LOG_DIR="/mnt/acs_results_template/acs_results"

# Parse config file
automation_enabled="`python3 /mnt/acs_tests/parser/Parser.py -automation`"
if [ "$automation_enabled" == "True" ]; then
Expand All @@ -28,12 +30,12 @@ echo "Executing FWTS for SBBR"
if [ "$automation_enabled" == "True" ] && [ "$fwts_enabled" == "False" ]; then
echo "********* FWTS is disabled in config file**************"
else
mkdir -p /mnt/acs_results/fwts
echo "SystemReady band ACS v3.1.1" > /mnt/acs_results/fwts/FWTSResults.log
mkdir -p ${LOG_DIR}/fwts
echo "SystemReady band ACS v3.1.1" > ${LOG_DIR}/fwts/FWTSResults.log
if [ "$automation_enabled" == "False" ]; then
fwts -r stdout -q --uefi-set-var-multiple=1 --uefi-get-mn-count-multiple=1 --sbbr esrt uefibootpath aest cedt slit srat hmat pcct pdtt bgrt bert einj erst hest sdei nfit iort mpam ibft ras2 >> /mnt/acs_results/fwts/FWTSResults.log
fwts -r stdout -q --uefi-set-var-multiple=1 --uefi-get-mn-count-multiple=1 --sbbr esrt uefibootpath aest cedt slit srat hmat pcct pdtt bgrt bert einj erst hest sdei nfit iort mpam ibft ras2 >> ${LOG_DIR}/fwts/FWTSResults.log
else
$fwts_command >> /mnt/acs_results/fwts/FWTSResults.log
$fwts_command >> ${LOG_DIR}/fwts/FWTSResults.log
fi
sync /mnt
sleep 5
Expand Down
77 changes: 39 additions & 38 deletions common/linux_scripts/init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ insmod /lib/modules/cppc_cpufreq.ko
sleep 5

SR_VERSION="SystemReady band ACS v3.1.1"
LOG_DIR="/mnt/acs_results_template/acs_results"

#Skip running of ACS Tests if the grub option is added
ADDITIONAL_CMD_OPTION="";
Expand Down Expand Up @@ -96,10 +97,10 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then

if [ $ADDITIONAL_CMD_OPTION == "acsforcevamap" ]; then
echo "Linux Boot with SetVirtualMap enabled"
mkdir -p /mnt/acs_results/SetVAMapMode/fwts
mkdir -p ${LOG_DIR}/SetVAMapMode/fwts
echo "Executing FWTS"
echo "${SR_VERSION}" > /mnt/acs_results/SetVAMapMode/fwts/FWTSResults.log
fwts -r stdout -q --uefi-set-var-multiple=1 --uefi-get-mn-count-multiple=1 --sbbr esrt uefibootpath aest cedt slit srat hmat pcct pdtt bgrt bert einj erst hest sdei nfit iort mpam ibft ras2 >> /mnt/acs_results/SetVAMapMode/fwts/FWTSResults.log
echo "${SR_VERSION}" > ${LOG_DIR}/SetVAMapMode/fwts/FWTSResults.log
fwts -r stdout -q --uefi-set-var-multiple=1 --uefi-get-mn-count-multiple=1 --sbbr esrt uefibootpath aest cedt slit srat hmat pcct pdtt bgrt bert einj erst hest sdei nfit iort mpam ibft ras2 >> ${LOG_DIR}/SetVAMapMode/fwts/FWTSResults.log
sync /mnt
sleep 3
echo "The ACS test suites are completed."
Expand All @@ -115,7 +116,7 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then
# Linux Device Driver script run
echo "Running Device Driver Matching Script"
cd /usr/bin
./device_driver_sr.sh > /mnt/acs_results/linux_dump/device_driver.log
./device_driver_sr.sh > ${LOG_DIR}/linux_dump/device_driver.log
cd -
echo "Device Driver script run - Completed"
sync /mnt
Expand All @@ -126,18 +127,18 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then
if [ "$automation_enabled" == "True" ] && [ "$fwts_enabled" == "False" ]; then
echo "********* FWTS is disabled in config file**************"
else
mkdir -p /mnt/acs_results/fwts
mkdir -p ${LOG_DIR}/fwts
if [ -f /lib/modules/smccc_test.ko ]; then
echo "Loading FWTS SMCCC module"
insmod /lib/modules/smccc_test.ko
else
echo "Error: FWTS SMCCC kernel Driver is not found."
fi
echo "${SR_VERSION}" > /mnt/acs_results/fwts/FWTSResults.log
echo "${SR_VERSION}" > ${LOG_DIR}/fwts/FWTSResults.log
if [ "$automation_enabled" == "False" ]; then
fwts -r stdout -q --uefi-set-var-multiple=1 --uefi-get-mn-count-multiple=1 --sbbr aest cedt slit srat hmat pcct pdtt bgrt bert einj erst hest sdei nfit iort mpam ibft ras2 smccc >> /mnt/acs_results/fwts/FWTSResults.log
fwts -r stdout -q --uefi-set-var-multiple=1 --uefi-get-mn-count-multiple=1 --sbbr aest cedt slit srat hmat pcct pdtt bgrt bert einj erst hest sdei nfit iort mpam ibft ras2 smccc >> ${LOG_DIR}/fwts/FWTSResults.log
else
$fwts_command -r stdout -q >> /mnt/acs_results/fwts/FWTSResults.log
$fwts_command -r stdout -q >> ${LOG_DIR}/fwts/FWTSResults.log
fi
sync /mnt
sleep 5
Expand All @@ -150,8 +151,8 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then
python redfish-finder
cd sbmr-acs
./run-sbmr-acs.sh linux
mkdir -p /mnt/acs_results/sbmr
cp -r logs /mnt/acs_results/sbmr/sbmr_in_band_logs
mkdir -p ${LOG_DIR}/sbmr
cp -r logs ${LOG_DIR}/sbmr/sbmr_in_band_logs
cd /
echo "SBMR ACS in-band run is completed\n"
}
Expand All @@ -176,20 +177,20 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then
if [ "$automation_enabled" == "True" ] && [ "$bsa_enabled" == "False" ]; then
echo "********* BSA is disabled in config file**************"
else
mkdir -p /mnt/acs_results/linux
mkdir -p ${LOG_DIR}/linux
if [ -f /lib/modules/bsa_acs.ko ]; then
insmod /lib/modules/bsa_acs.ko
echo "${SR_VERSION}" > /mnt/acs_results/linux/BsaResultsApp.log
echo "${SR_VERSION}" > ${LOG_DIR}/linux/BsaResultsApp.log
if [ "$automation_enabled" == "False" ]; then
# based on previous certification/complaince inputs, side effects are seen
# when bsa/sbsa test changes config of PCIe devices whose class code are
# display port, mass storage, network controller...SKIP them
/bin/bsa --skip-dp-nic-ms >> /mnt/acs_results/linux/BsaResultsApp.log
/bin/bsa --skip-dp-nic-ms >> ${LOG_DIR}/linux/BsaResultsApp.log
else
echo "Running command $bsa_command --skip PCI_MM_03 --skip-dp-nic-ms"
$bsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> /mnt/acs_results/linux/BsaResultsApp.log
$bsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> ${LOG_DIR}/linux/BsaResultsApp.log
fi
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > /mnt/acs_results/linux/BsaResultsKernel.log
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > ${LOG_DIR}/linux/BsaResultsKernel.log
sync /mnt
sleep 5
echo "Linux BSA test Execution - Completed"
Expand All @@ -204,13 +205,13 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then
if [ "$sbsa_enabled" == "False" ]; then
echo "********* SBSA is disabled in config file**************"
else
mkdir -p /mnt/acs_results/linux
mkdir -p ${LOG_DIR}/linux
if [ -f /lib/modules/sbsa_acs.ko ]; then
insmod /lib/modules/sbsa_acs.ko
echo "${SR_VERSION}" > /mnt/acs_results/linux/SbsaResultsApp.log
echo "${SR_VERSION}" > ${LOG_DIR}/linux/SbsaResultsApp.log
echo "Running command $sbsa_command --skip PCI_MM_03 --skip-dp-nic-ms"
$sbsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> /mnt/acs_results/linux/SbsaResultsApp.log
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > /mnt/acs_results/linux/SbsaResultsKernel.log
$sbsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> ${LOG_DIR}/linux/SbsaResultsApp.log
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > ${LOG_DIR}/linux/SbsaResultsKernel.log
sync /mnt
sleep 5
echo "Linux SBSA test Execution - Completed"
Expand All @@ -223,11 +224,11 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then
fi

# EDK2 test parser
if [ -d "/mnt/acs_results/sct_results" ]; then
if [ -d "${LOG_DIR}/sct_results" ]; then
echo "Running edk2-test-parser tool "
mkdir -p /mnt/acs_results/edk2-test-parser
mkdir -p ${LOG_DIR}/edk2-test-parser
cd /usr/bin/edk2-test-parser
./parser.py --md /mnt/acs_results/edk2-test-parser/edk2-test-parser.log --config SBBR.yaml /mnt/acs_results/sct_results/Overall/Summary.ekl /mnt/acs_results/sct_results/Sequence/SBBR.seq > /dev/null 2>&1
./parser.py --md ${LOG_DIR}/edk2-test-parser/edk2-test-parser.log --config SBBR.yaml ${LOG_DIR}/sct_results/Overall/Summary.ekl ${LOG_DIR}/sct_results/Sequence/SBBR.seq > /dev/null 2>&1
cd -
echo "edk2-test-parser run completed"
sync /mnt
Expand All @@ -237,40 +238,40 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then
fi

#copying acs_run_config.ini into results directory.
mkdir -p /mnt/acs_results/acs_summary/config
mkdir -p ${LOG_DIR}/acs_summary/config

# Copying acs_run_config into result directory.
if [ -f /mnt/acs_tests/config/acs_run_config.ini ]; then
cp /mnt/acs_tests/config/acs_run_config.ini /mnt/acs_results/acs_summary/config/
cp /mnt/acs_tests/config/acs_run_config.ini ${LOG_DIR}/acs_summary/config/
fi
# Copying acs_waiver.json into result directory.
if [ -f /mnt/acs_tests/config/acs_waiver.json ]; then
cp /mnt/acs_tests/config/acs_waiver.json /mnt/acs_results/acs_summary/config/
cp /mnt/acs_tests/config/acs_waiver.json ${LOG_DIR}/acs_summary/config/
fi
# Copying system_config.txt into result directory
if [ -f /mnt/acs_tests/config/system_config.txt ]; then
cp /mnt/acs_tests/config/system_config.txt /mnt/acs_results/acs_summary/config/
cp /mnt/acs_tests/config/system_config.txt ${LOG_DIR}/acs_summary/config/
fi
# Copying systemready-commit.log into result directory
if [ -f /mnt/acs_tests/config/systemready-commit.log ]; then
cp /mnt/acs_tests/config/systemready-commit.log /mnt/acs_results/acs_summary/config/
cp /mnt/acs_tests/config/systemready-commit.log ${LOG_DIR}/acs_summary/config/
fi
# Copying acs_config.txt into result directory
if [ -f /mnt/acs_tests/config/acs_config.txt ]; then
cp /mnt/acs_tests/config/acs_config.txt /mnt/acs_results/acs_summary/config/
cp /mnt/acs_tests/config/acs_config.txt ${LOG_DIR}/acs_summary/config/
fi

sync /mnt

# systemready scripts for os logs
if [ -d "/usr/bin/systemready-scripts" ]; then
echo "Running systemready scripts "
if [ -f "/mnt/acs_results/post-script/post-script.log" ]; then
rm /mnt/acs_results/post-script/post-script.log
if [ -f "${LOG_DIR}/post-script/post-script.log" ]; then
rm ${LOG_DIR}/post-script/post-script.log
else
mkdir -p /mnt/acs_results/post-script
mkdir -p ${LOG_DIR}/post-script
fi
python3 /usr/bin/systemready-scripts/check-sr-results.py --dir /mnt > /mnt/acs_results/post-script/post-script.log 2>&1
python3 /usr/bin/systemready-scripts/check-sr-results.py --dir /mnt > ${LOG_DIR}/post-script/post-script.log 2>&1
sync /mnt
sleep 5
else
Expand All @@ -279,14 +280,14 @@ if [ $ADDITIONAL_CMD_OPTION != "noacs" ]; then

# ACS log parser run
echo "Running acs log parser tool "
if [ -d "/mnt/acs_results" ]; then
if [ -d "/mnt/acs_results/acs_summary/acs_jsons" ]; then
rm -r /mnt/acs_results/acs_summary/acs_jsons
if [ -d "${LOG_DIR}" ]; then
if [ -d "${LOG_DIR}/acs_summary/acs_jsons" ]; then
rm -r ${LOG_DIR}/acs_summary/acs_jsons
fi
if [ -d "/mnt/acs_results/acs_summary/html_detailed_summaries" ]; then
rm -r /mnt/acs_results/acs_summary/html_detailed_summaries
if [ -d "${LOG_DIR}/acs_summary/html_detailed_summaries" ]; then
rm -r ${LOG_DIR}/acs_summary/html_detailed_summaries
fi
/usr/bin/log_parser/main_log_parser.sh /mnt/acs_results /mnt/acs_tests/config/acs_config.txt /mnt/acs_tests/config/system_config.txt /mnt/acs_tests/config/acs_waiver.json
/usr/bin/log_parser/main_log_parser.sh ${LOG_DIR} /mnt/acs_tests/config/acs_config.txt /mnt/acs_tests/config/system_config.txt /mnt/acs_tests/config/acs_waiver.json
sync /mnt
sleep 5
fi
Expand Down
4 changes: 2 additions & 2 deletions common/linux_scripts/linux_init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ if [ "$(id -u)" -ne 0 ]; then
fi

if [ "$MODE" = "auto" ]; then
if [ -d /mnt/acs_tests ] || [ -d /mnt/acs_results ]; then
if [ -d /mnt/acs_tests ] || [ -d /mnt/acs_results_template/acs_results ]; then
MODE="acs"
else
MODE="os"
Expand All @@ -87,7 +87,7 @@ if [ "$MODE" = "os" ]; then
fi

if [ "$MODE" = "acs" ]; then
LOG_DIR="/mnt/acs_results/linux_dump"
LOG_DIR="/mnt/acs_results_template/acs_results/linux_dump"
else
REAL_USER="${SUDO_USER:-${USER:-root}}"
REAL_HOME=$(eval echo ~"$REAL_USER")
Expand Down
10 changes: 6 additions & 4 deletions common/linux_scripts/sbmr.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

# @file
# Copyright (c) 2021-2025, Arm Limited or its affiliates. All rights reserved.
# Copyright (c) 2021-2026, Arm Limited or its affiliates. All rights reserved.
# SPDX-License-Identifier : Apache-2.0

# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -17,6 +17,8 @@
# limitations under the License.
# Parse config file

LOG_DIR="/mnt/acs_results_template/acs_results"

automation_enabled="`python3 /mnt/acs_tests/parser/Parser.py -automation`"
if [ "$automation_enabled" == "True" ]; then
sbmr_enabled="`python3 /mnt/acs_tests/parser/Parser.py -automation_sbmr_in_band_run`"
Expand All @@ -28,8 +30,8 @@ run_sbmr_in_band(){
python redfish-finder
cd sbmr-acs
./run-sbmr-acs.sh linux
mkdir -p /mnt/acs_results/sbmr
cp -r logs /mnt/acs_results/sbmr/sbmr_in_band_logs
mkdir -p ${LOG_DIR}/sbmr
cp -r logs ${LOG_DIR}/sbmr/sbmr_in_band_logs
cd /
echo "SBMR ACS in-band run is completed\n"
}
Expand All @@ -45,4 +47,4 @@ else
echo "For SBMR OUT-OF-BAND tests, see: https://github.com/ARM-software/sbmr-acs.git" 1>&2
echo "Please press <Enter> to continue ..."
exec sh +m
fi
fi
10 changes: 6 additions & 4 deletions common/linux_scripts/sbsa.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.

LOG_DIR="/mnt/acs_results_template/acs_results"

# Parse config file
automation_enabled="`python3 /mnt/acs_tests/parser/Parser.py -automation`"
if [ "$automation_enabled" == "True" ]; then
Expand All @@ -30,13 +32,13 @@ if [ "$automation_enabled" == "True" ] && [ "$sbsa_enabled" == "False" ]; then
else
if [ -f /lib/modules/sbsa_acs.ko ]; then
insmod /lib/modules/sbsa_acs.ko
echo "SystemReady band ACS v3.1.1" > /mnt/acs_results/linux/SbsaResultsApp.log
echo "SystemReady band ACS v3.1.1" > ${LOG_DIR}/linux/SbsaResultsApp.log
if [ "$automation_enabled" == "False" ]; then
/bin/sbsa --skip PCI_MM_03 --skip-dp-nic-ms >> /mnt/acs_results/linux/SbsaResultsApp.log
/bin/sbsa --skip PCI_MM_03 --skip-dp-nic-ms >> ${LOG_DIR}/linux/SbsaResultsApp.log
else
$sbsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> /mnt/acs_results/linux/SbsaResultsApp.log
$sbsa_command --skip PCI_MM_03 --skip-dp-nic-ms >> ${LOG_DIR}/linux/SbsaResultsApp.log
fi
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > /mnt/acs_results/linux/SbsaResultsKernel.log
dmesg | sed -n 'H; /PE_INFO/h; ${g;p;}' > ${LOG_DIR}/linux/SbsaResultsKernel.log
sync /mnt
sleep 5
echo "Linux SBSA test Execution - Completed"
Expand Down
Loading
Loading