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 @@ -42,7 +42,7 @@ The SystemReady band compliance and testing requirements are specified in the [A
| [Base Boot Requirements (BBR)](https://github.com/ARM-software/bbr-acs) | 00be42e82452cdad0b862728082568f3d7d2a1c3 | BBR v2.1 |
| [Base Boot Security Requirements (BBSR)](https://github.com/ARM-software/bbr-acs) | 00be42e82452cdad0b862728082568f3d7d2a1c3 | BBSR v1.3 |
| [UEFI Self Certification Tests (UEFI-SCT)](https://github.com/tianocore/edk2-test) | ba6c13f4e4fa1bf92ed04f5cb969d6c8a76f8605 | |
| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v25.01.00 | |
| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v26.01.00 | |
| [Server Base Manageability Requirements (SBMR)](https://github.com/ARM-software/sbmr-acs) | 27803824d966df48f34ce5290599f616bc0de8e9 | SBMR v2.0 |

- **Image Component details**
Expand Down Expand Up @@ -319,4 +319,4 @@ SystemReady ACS is distributed under Apache v2.0 License.

--------------

*Copyright (c) 2022-2025, Arm Limited and Contributors. All rights reserved.*
*Copyright (c) 2022-2026, Arm Limited and Contributors. All rights reserved.*
2 changes: 1 addition & 1 deletion SystemReady-band/build-scripts/build-buildroot.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ do_build ()
make O=$BUILDROOT_OUT_DIR -j $PARALLELISM
rm $BUILDROOT_DEFCONFIG
popd
pushd $TOP_DIR/$BUILDROOT_PATH/out/arm64/build/fwts-25.09.00/smccc_test
pushd $TOP_DIR/$BUILDROOT_PATH/out/arm64/build/fwts-${FWTS_VERSION}/smccc_test
make -C "$KDIR" M="$PWD" CROSS_COMPILE="$CROSS_COMPILE" modules
cp smccc_test.ko $TOP_DIR/$BUILDROOT_PATH/root_fs_overlay/lib/modules/
popd
Expand Down
2 changes: 1 addition & 1 deletion SystemReady-band/build-scripts/get_source.sh
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ get_buildroot_src()
pushd $TOP_DIR/buildroot/package/fwts
echo "Applying Buildroot FWTS patch..."
# patch buildroot config
git apply $TOP_DIR/../common/patches/build_fwts_version_25.09.00.patch
git apply $TOP_DIR/../common/patches/build_fwts_version_${FWTS_VERSION}.patch
popd
pushd $TOP_DIR/buildroot
echo "Applying Buildroot SBMR-ACS patch..."
Expand Down
4 changes: 2 additions & 2 deletions SystemReady-devicetree-band/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The SystemReady-devicetree band compliance and testing requirements are specifie
| [Base Boot Requirements (BBR)](https://github.com/ARM-software/bbr-acs) | v25.12_EBBR_2.2.2 | EBBR v2.2, BBR v2.1 |
| [Base Boot Security Requirements (BBSR)](https://github.com/ARM-software/bbr-acs) | v25.12_BBSR_1.3.1 | BBSR v1.3 |
| [UEFI Self Certification Tests (UEFI-SCT)](https://github.com/tianocore/edk2-test) | edk2-test-stable202509 | |
| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v25.09.00 | |
| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v26.01.00 | |
| [Platform Fault Detection Interface (PFDI)](https://github.com/ARM-software/sysarch-acs) | 13248b722e9ca63522a475771e085b0a8d6d1e9d | PFDI v1.0-BETA |

- Component details
Expand Down Expand Up @@ -315,4 +315,4 @@ System Ready ACS is distributed under Apache v2.0 License.

--------------

*Copyright (c) 2022-2025, Arm Limited and Contributors. All rights reserved.*
*Copyright (c) 2022-2026, Arm Limited and Contributors. All rights reserved.*
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ EFI_PROVIDER = "grub-efi"
# Suffixing the build directory with the libc is pointless
TCLIBCAPPEND = ""
PREFERRED_VERSION_linux-yocto = "6.16%"
PREFERRED_VERSION_fwts = "25.09.00"
PREFERRED_VERSION_fwts = "26.01.00"
PREFERRED_VERSION_python3-dtschema = "2025.2"
PREFERRED_VERSION_grub = "2.06"
PREFERRED_VERSION_grub-efi = "2.06"
PREFERRED_VERSION_grub-native = "2.06"
PREFERRED_VERSION_python3-jsonschema = "4.17.3"
PREFERRED_VERSION_python3-dtschema-native = "2025.2"
PREFERRED_VERSION_python3-dtschema-native = "2025.2"
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
SUMMARY = "Firmware testsuite"
DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"

LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=79533a427253d19fae2d2c094ebcf28a"

S = "${WORKDIR}/${BP}/fwts-${PV}"

SRC_URI = "https://fwts.ubuntu.com/release/fwts-V${PV}.tar.gz;subdir=${BP} \
file://0001-Add-correct-printf-qualifier-for-off_t.patch \
file://0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
file://0005-Undefine-PAGE_SIZE.patch \
file://0001-uefi-esrt-Added-esrt_test2-for-EBBR.patch \
"

SRC_URI[sha256sum] = "25565fd007b378bf29581eb0bc36a03a2f0c49326bb6084f980fee9c5921f289"

COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"

DEPENDS = "libpcre glib-2.0 dtc bison-native libbsd virtual/kernel"
DEPENDS:append:libc-musl = " libexecinfo"

inherit autotools bash-completion pkgconfig module-base

# Map aarch64 → arm64; otherwise fall back to TARGET_ARCH
KERNEL_ARCH ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'arm64', d.getVar('TARGET_ARCH'), d)}"

LDFLAGS:append:libc-musl = " -lexecinfo"

# We end up linker barfing with undefined symbols on ppc64 but not on other arches
# surprisingly
ASNEEDED:powerpc64le = ""

SMCCC_SRC_DIR ?= "${S}/smccc_test"
MODULE_NAME ?= "smccc_test"

do_compile:append() {
if [ -d "${SMCCC_SRC_DIR}" ]; then
export KERNEL_SRC=${STAGING_KERNEL_DIR}
bbnote "Building smccc_test kernel module in ${SMCCC_SRC_DIR}"
oe_runmake -C "${STAGING_KERNEL_DIR}" \
M="${SMCCC_SRC_DIR}" \
ARCH="${KERNEL_ARCH}" \
CROSS_COMPILE="${TARGET_PREFIX}" \
modules
else
bbwarn "SMCCC source directory not found: ${SMCCC_SRC_DIR}"
fi
}

do_install:append() {
install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}
install -m 0644 ${SMCCC_SRC_DIR}/${MODULE_NAME}.ko \
${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko
}

FILES:${PN} += "${base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko"
FILES:${PN} += "${libdir}/fwts/lib*${SOLIBS}"
FILES:${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
FILES:${PN}-staticdev += "${libdir}/fwts/lib*a"

RDEPENDS:${PN} += "dtc"
3 changes: 1 addition & 2 deletions common/config/systemready-band-source.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@ EDK2_SRC_VERSION=edk2-stable202511
SCT_SRC_TAG=91e998d2d77b26cccd1f4bf99938ff55c1606e8a

# FWTS build tag/commit
# The flag is not used for DT Yocto build, but is kept as reference to know which latest version is used
FWTS_VERSION=25.09.00
FWTS_VERSION=26.01.00

# Arm BSA ACS build tag/commit
# UEFI SRC: https://github.com/ARM-software/sysarch-acs
Expand Down
4 changes: 2 additions & 2 deletions common/config/systemready-dt-band-source.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ EDK2_SRC_TAG=edk2-stable202511
# SRC: https://github.com/tianocore/edk2-test
SCT_SRC_TAG=91e998d2d77b26cccd1f4bf99938ff55c1606e8a

#FWTS build tag/commit
# FWTS build tag/commit
# The flag is not used for SR build, but is kept as reference to know which latest version is used
FWTS_VERSION=25.09.00
FWTS_VERSION=26.01.00

# Arm BSA ACS build tag/commit
# UEFI SRC: https://github.com/ARM-software/sysarch-acs
Expand Down
165 changes: 165 additions & 0 deletions common/patches/build_fwts_version_26.01.00.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
diff --git a/package/fwts/0001-build-do-not-use-Werror.patch b/package/fwts/0001-build-do-not-use-Werror.patch
deleted file mode 100644
index 715c4f63a5..0000000000
--- a/package/fwts/0001-build-do-not-use-Werror.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From e481c2f990ffa71f205d4b9daf0823e71269a7f3 Mon Sep 17 00:00:00 2001
-From: Erico Nunes <nunes.erico@gmail.com>
-Date: Fri, 12 Aug 2016 23:11:56 +0200
-Subject: [PATCH] fwts: do not use -Werror
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Warnings come and go with various compiler versions, so using -Werror is
-prone to cause build failures with various compiler versions, especially
-newer versions that introduce new warnings.
-
-Remove use of -Werror.
-
-Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
-[Fabrice: updated for 20.08.00]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Vincent: rebased onto V21.05.00]
-Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
----
- configure.ac | 2 +-
- src/Makefile.am | 2 +-
- src/lib/src/Makefile.am | 2 +-
- src/utilities/Makefile.am | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f40c3678..0ff5025b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,5 +1,5 @@
- AC_INIT([fwts],[0.1],[fwts-devel@lists.ubuntu.com])
-- AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
-+ AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
- m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
- AC_CANONICAL_HOST
- AC_CONFIG_MACRO_DIR([m4])
-diff --git a/src/Makefile.am b/src/Makefile.am
-index cdabb386..7c2e5730 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -12,7 +12,7 @@ AM_CPPFLAGS = \
- -I$(top_srcdir)/src/acpica/source/compiler \
- -I$(top_srcdir)/efi_runtime \
- -pthread `pkg-config --cflags glib-2.0 gio-2.0` \
-- -Wall -Werror -Wextra \
-+ -Wall -Wextra \
- -Wno-address-of-packed-member \
- -Wfloat-equal -Wmissing-declarations \
- -Wno-long-long -Wredundant-decls -Wshadow \
-diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am
-index 55c52b41..50efa97a 100644
---- a/src/lib/src/Makefile.am
-+++ b/src/lib/src/Makefile.am
-@@ -25,7 +25,7 @@ AM_CPPFLAGS = \
- `pkg-config --silence-errors --cflags json-c` \
- `pkg-config --cflags glib-2.0 gio-2.0` \
- -DDATAROOTDIR=\"$(datarootdir)\" \
-- -Wall -Werror -Wextra \
-+ -Wall -Wextra \
- -Wno-address-of-packed-member
-
- pkglib_LTLIBRARIES = libfwts.la
-diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am
-index 1fc0fc02..53614e33 100644
---- a/src/utilities/Makefile.am
-+++ b/src/utilities/Makefile.am
-@@ -16,7 +16,7 @@
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- #
-
--AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \
-+AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \
- -I$(srcdir)/../lib/include
-
- bin_PROGRAMS = kernelscan
---
-2.30.2
-
diff --git a/package/fwts/Config.in b/package/fwts/Config.in
index ac9a2e3909..03f16fa75b 100644
--- a/package/fwts/Config.in
+++ b/package/fwts/Config.in
@@ -1,6 +1,14 @@
+config BR2_PACKAGE_FWTS_ARCH_SUPPORTS
+ bool
+ default y if BR2_aarch64
+ default y if BR2_arm
+ default y if BR2_i386
+ default y if BR2_RISCV_64
+ default y if BR2_x86_64
+
config BR2_PACKAGE_FWTS
bool "fwts"
- depends on BR2_i386 || BR2_x86_64 || BR2_aarch64
+ depends on BR2_PACKAGE_FWTS_ARCH_SUPPORTS
depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd
depends on BR2_USE_MMU # libglib2
depends on BR2_USE_WCHAR # libglib2, libbsd
@@ -33,8 +41,8 @@ comment "efi_runtime module needs a Linux kernel to be built"
endif

comment "fwts needs a glibc toolchain w/ wchar, threads, dynamic library"
- depends on BR2_i386 || BR2_x86_64 || BR2_aarch64
+ depends on BR2_PACKAGE_FWTS_ARCH_SUPPORTS
depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS
+ !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS
\ No newline at end of file
diff --git a/package/fwts/fwts.hash b/package/fwts/fwts.hash
index 8634980e03..e11ac40bd7 100644
--- a/package/fwts/fwts.hash
+++ b/package/fwts/fwts.hash
@@ -1,5 +1,5 @@
-# Hash from: http://fwts.ubuntu.com/release/SHA256SUMS
-sha256 17d1f0b9639e0f9b092ed8233be2d63d6c44ea8d2a76be0fb5902cc867961374 fwts-V21.11.00.tar.gz
+# Hash from: https://fwts.ubuntu.com/release/SHA256SUMS
+sha256 25565fd007b378bf29581eb0bc36a03a2f0c49326bb6084f980fee9c5921f289 fwts-V26.01.00.tar.gz

# Hash for license file
-sha256 fbbea748555635dd8c7e6e2f99cddd778f5ee3f9e3510775183bf9799076e5e5 debian/copyright
+sha256 1ec8cffc8cf213afc5d854027d746c80e638a13b1688f2a352221490c681c54f debian/copyright
\ No newline at end of file
diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk
index 6634cdc40e..38c0848ee0 100644
--- a/package/fwts/fwts.mk
+++ b/package/fwts/fwts.mk
@@ -4,10 +4,9 @@
#
################################################################################

-FWTS_VERSION = 21.11.00
+FWTS_VERSION = 26.01.00
FWTS_SOURCE = fwts-V$(FWTS_VERSION).tar.gz
-FWTS_SITE = http://fwts.ubuntu.com/release
-FWTS_STRIP_COMPONENTS = 0
+FWTS_SITE = https://fwts.ubuntu.com/release
FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom
FWTS_LICENSE_FILES = debian/copyright
FWTS_AUTORECONF = YES
@@ -15,9 +14,13 @@ FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf libglib2 libbsd \
$(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \
$(if $(BR2_PACKAGE_DTC),dtc)

-ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE
+ifeq ($(BR2_OPTIMIZE_0),y)
+FWTS_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -O1"
+endif
+
+ifeq ($(BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE),y)
FWTS_MODULE_SUBDIRS = efi_runtime
$(eval $(kernel-module))
endif

-$(eval $(autotools-package))
+$(eval $(autotools-package))