.. # SPDX-FileCopyrightText: Copyright 2025-2026 Arm Limited and/or its # affiliates # # SPDX-License-Identifier: MIT .. _rd-aspen_design_systemready_devicetree: ########################## Arm SystemReady Devicetree ########################## :link_subs:`common:arm-systemready` is a compliance program based on a set of hardware and firmware standards that enable interoperability with generic off-the-shelf operating systems and hypervisors. The :link_subs:`common:arm-systemready-program` enables software to run seamlessly across compliant Arm-based systems, helping developers and hardware partners build once and deploy widely. The compliance requirements are described in :link_subs:`common:arm-systemready-srs`. Arm SystemReady is divided into two bands, each with a combination of specs available to suit the different devices and markets. Arm SystemReady Devicetree is one of these bands. :link_subs:`rd-aspen:arm-systemready-devicetree` compliant platforms implement a minimum set of hardware and firmware features that an operating system can depend on to deploy the operating system image. Hence, Arm SystemReady Devicetree ensures that the deployment and maintenance of standard firmware interfaces and targets both custom (Yocto, OpenWRT, Buildroot) and pre-built (Debian, Fedora, SUSE) Linux distributions. For more information regarding requirements and recommendations for systems to comply with SystemReady Devicetree band, refer to :link_subs:`common:arm-systemready-srs` *********************************** Support in Arm Automotive Solutions *********************************** This Reference Software Stack is compliant with SystemReady Devicetree band v3.1 requirements. The following waivers are applied to the Architecture Compliance Suite (ACS) results: * Devicetree validation missing schema errors, due to the ACS validating the Devicetree against a fixed version (v6.18) of Linux which predates the schemas being upstreamed. * Ping errors, due to the ping protocol being an accepted limitation of the Fixed Virtual Platform. * UpdateCapsule conformance error, due to U-Boot not checking all cases of invalid input. * SimpleTextInputEx protocol warning, due to U-Boot SetState() implementation limitations. * HII Database protocol conformance errors, functional error, and skipped tests. * QueryVariableInfo conformance error, due to U-Boot not checking all cases of invalid input. The support for running the Linux distribution installations and ACS is included in the Reference Software Stack. For more details on how to run it, see the :ref:`rd-aspen_user_guide_reproduce_sr_devicetree_acs` section of this documentation. ******************************** Arm SystemReady Devicetree tests ******************************** .. _rd-aspen_systemready_devicetree_acs_tests: ACS tests ========= The Arm SystemReady Architecture Compliance Suite (ACS) is a set of tests that ensure architectural compliance across different implementations and variants of the architecture. The ACS is delivered as a prebuilt release image. The image is a bootable live OS image containing a collection of test suites. The ACS includes an optional :link_subs:`base-boot-security-requirements` test. RD-Aspen is not currently BBSR-compliant, but has a long-term goal to be. This Reference Software Stack supports running the BBSR suite to test authenticated variables, UEFI Secure Boot variables, and UEFI Secure Boot image loading. The :repo:`yocto/meta-arm-systemready-devicetree/classes/arm-systemready-acs.bbclass` class contains the common logic to deploy the Arm SystemReady Devicetree ACS version |SystemReady Devicetree ACS version| pre-built image and set up the testimage environment. It also contains a testimage "postfunc" called ``acs_logs_handle`` which generates report files and checks the results. The script :repo:`yocto/meta-arm-systemready-devicetree/lib/oeqa/runtime/cases/arm_systemready_devicetree_acs.py` monitors the ACS tests output from the bitbake testimage task. To run the tests, see :ref:`rd-aspen_user_guide_reproduce_sr_devicetree_acs`. .. _systemready_devicetree_linux_install: Linux Distributions Installation Tests ====================================== The Arm SystemReady Devicetree specification requires that at least three Linux distributions must be able to install and boot using the UEFI boot flow. Virtio block 1 (``vdb``) is used for the source storage and virtio block 0 (``vda``) is used for the destination storage. This Software Stack currently supports the following three Linux distributions: * Debian v13.0.0 * Rocky Linux v10.1 * openSUSE v16.0 For the ACS tests use case to pass, these distributions must be tested and the results of such tests loaded onto the ACS prebuilt release image before the ACS tests are run. In the Reference Software Stack, this process is automated for all three Linux distribution unattended installations and ACS tests use cases. This requires that all three Linux distribution unattended installations are run before the ACS tests. Recipes for testing the installation of Linux distributions are provided under :meta-arm-repo:`meta-arm-systemready/recipes-test/arm-systemready-linux-distros`. These recipes help to download the installation CD for the Linux distribution and generate an empty disk as the target disk for the installation. See :meta-arm-repo:`meta-arm-systemready/README.md` for more details. To run the Debian unattended installation, see :ref:`user_guide_reproduce_arm_systemready_devicetree_debian`. To run the ACS tests, see :ref:`user_guide_reproduce_arm_systemready_devicetree_linux`.