Commit 769c136c authored by Zakaria Zahi's avatar Zakaria Zahi Committed by Thomas Abraham
Browse files

infra/common: add UEFI SCT guide



Add UEFI SCT standalone guide, in order to build and run UEFI SCT tests
for RD-platforms.
Signed-off-by: Zakaria Zahi's avatarZakaria Zahi <zakaria.zahi@arm.com>
Change-Id: If2584c969179acca8e9ce3f5d92e60a1ab7c63a6
parent bd0d7622
SCT Standalone test on Neoverse RD platforms
============================================
.. contents::
Overview of SCT Standalone test
-------------------------------
The UEFI Self-Certification Test (UEFI SCT) is a toolset for platform developers
to validate firmware implementation compliance to the UEFI Specification. The
toolset features a Test Harness for executing built-in UEFI Compliance Tests, as
well as for integrating user-defined tests that were developed using the UEFI
SCT open source code.
The latest version of the UEFI SCT can be found at:
`UEFI website <http://uefi.org/testtools>`_
This document describes how to build the Neoverse RD platform software stack and
and use it to run UEFI SCT on the Neoverse RD FVP.
Download the platform software
------------------------------
Skip this section if the required sources have been downloaded.
To obtain the required sources for the platform, follow the steps listed on the
`Download sources`_ page. Ensure that the platform software is downloaded before
proceeding with the steps listed below. Also, note the host machine requirements
listed on that page which is essential to build and execute the platform
software stack.
Build the platform software
---------------------------
This section describes the procedure to build the disk image for SCT run.
The disk image consists of two partitions. The first partition is a EFI
partition and contains grub. The second parition is a ext3 partition which
contains the linux kernel image. Examples on how to use the build command for
SCT are listed below.
To build the software stack, the command to be used is
::
./build-scripts/rdinfra/build-test-sct.sh -p <platform name> <command>
Supported command line options are listed below
* <platform name>
- Lookup for a platform name in `Platform Names`_.
* <command>
- Supported commands are
- ``clean``
- ``build``
- ``package``
- ``all`` (all of the three above)
Examples of the build command are
- Command to clean, build and package the RD-N2 software stack required for
SCT on RD-N2 platform:
::
./build-scripts/rdinfra/build-test-sct.sh -p rdn2 all
- Command to perform an incremental build of the software components included in
the software stack for the RD-N2 platform.
*Note:* this command should be followed by the ``package`` command to complete
the preparation of the UEFI SCT disk image.
::
./build-scripts/rdinfra/build-test-sct.sh -p rdn2 build
- Command to package the previously built software stack and prepare the SCT
disk image.
::
./build-scripts/rdinfra/build-test-sct.sh -p rdn2 package
Run UEFI SCT
------------
After the build of the platform software stack for SCT is complete, the
following commands can be used to start the execution of the *selected platform
fastmodel* and run UEFI SCT. Examples on how to use the command are listed
below.
To run UEFI sct, the commands to be used are
- Set ``MODEL`` path before launching the model:
::
export MODEL=<absolute path to the platform FVP binary>
- If platform is SGI-575:
::
cd model-scripts/sgi
- If platform is an RD:
::
cd model-scripts/rdinfra
- Run UEFI SCT:
::
./sct.sh -p <platform name> -a <additional_params> -n [true|false]
Supported command line options are listed below
* -p <platform name>
- Lookup for a platform name in `Platform Names`_.
* -j [true|false]
- Automate SCT: true or false. Default value is set to 'false'.
* -n [true|false] (optional)
- Controls the use of network ports by the model. If network ports have
to be enabled, use 'true' as the option. Default value is set to
'false'.
* -a <additional_params> (optional)
- Specify any additional model parameters to be passed. The model
parameters and the data to be passed to those parameters can be found
in the FVP documentation.
Example commands to run UEFI SCT are as listed below.
- Command to start the execution of the RD-N2 model to run UEFI SCT:
::
./sct.sh -p rdn2
- Command to start the execution of the RD-N2 model to run UEFI SCT with network
enabled. The model supports virtio.net allowing the software running within
the model to access the network:
::
./sct.sh -p rdn2 -n true
- There are additional steps to be performed on the first boot to run SCT test.
These steps are listed below.
1- Click ESC and click on "Boot Manager"
.. image:: docs/infra/common/images/sct-image-1.png
2- Select UEFI Shell and click Enter
.. image:: docs/infra/common/images/sct-image-2.png
3- In the UEFI Shell tap the command to run the SCT test navigator
::
SCT.efi -u
.. image:: docs/infra/common/images/sct-image-3.png
4- Select "Test Case Management". Then, select any test you want to run.
- To select a test tap "Space", [1] should be printed in #Iter
- To deselect a test tap again "Space", [0] should be printed in #Iter
.. image:: docs/infra/common/images/sct-image-4.png
5- Click on F9 to run the selected tests
6- Retrieve the test results in the "View Test Log..."
.. image:: docs/infra/common/images/sct-image-5.png
--------------
*Copyright (c) 2020-2021, Arm Limited. All rights reserved.*
.. _Download sources: docs/infra/common/download-sources.rst
.. _Platform Names: docs/infra/common/platform_names.rst
.. _troubleshooting guide: docs/infra/common/troubleshooting-guide.rst
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment