From 50bf64d177a14b5bb539ff360fb183a3d3b7058c Mon Sep 17 00:00:00 2001 From: Chitti Babu Theegala Date: Wed, 15 Jul 2026 18:39:32 +0530 Subject: [PATCH] boot-time-analysis-tools: add boot time profiling tools Add two new recipes from the CentOS Automotive SIG boot-time-analysis-tools project to enable boot time profiling and measurement. boot-time-analysis-tools: Python-based toolset for collecting, analyzing and visualizing system boot timing data from the systemd journal. Provides the 'boot_timings' CLI utility which queries D-Bus and the systemd journal to produce structured boot time reports. Depends on python3-dbus and python3-systemd for runtime journal and D-Bus access. cntvct-log: Userspace C utility built with Meson that logs ARM CNTVCT_EL0 virtual counter timestamps to correlate hardware-level timing with systemd boot events. Installs cntvct@.service as a systemd template unit (disabled by default) for on-demand per-instance activation. The service preset file (98-cntvct-log.preset) is installed for system-preset-based enablement. Both recipes fetch from the same upstream git repository: https://gitlab.com/CentOS/automotive/src/boot-time-analysis-tools Signed-off-by: Chitti Babu Theegala Signed-off-by: Khem Raj --- .../boot-time-analysis-tools_0.7.1.bb | 13 +++++++++ .../cntvct-log_0.7.1.bb | 27 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 meta-oe/recipes-devtools/boot-time-analysis-tools/boot-time-analysis-tools_0.7.1.bb create mode 100644 meta-oe/recipes-devtools/boot-time-analysis-tools/cntvct-log_0.7.1.bb diff --git a/meta-oe/recipes-devtools/boot-time-analysis-tools/boot-time-analysis-tools_0.7.1.bb b/meta-oe/recipes-devtools/boot-time-analysis-tools/boot-time-analysis-tools_0.7.1.bb new file mode 100644 index 0000000000..00a5c8b960 --- /dev/null +++ b/meta-oe/recipes-devtools/boot-time-analysis-tools/boot-time-analysis-tools_0.7.1.bb @@ -0,0 +1,13 @@ +SUMMARY = "Boot time analysis tools from CentOS Automotive SIG" +REQUIRED_DISTRO_FEATURES = "systemd" +DESCRIPTION = "Tools for analyzing and visualizing system boot time" +HOMEPAGE = "https://gitlab.com/CentOS/automotive/src/boot-time-analysis-tools" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1c2e0cc0dec0b709fe547806b55737b0" + +SRC_URI = "git://gitlab.com/CentOS/automotive/src/boot-time-analysis-tools.git;protocol=https;branch=main;tag=${PV}" +SRCREV = "2409ce37e7389d8079bdb8740cb6a44b505fb8d4" + +inherit setuptools3 features_check + +RDEPENDS:${PN} = "python3-dbus python3-systemd " diff --git a/meta-oe/recipes-devtools/boot-time-analysis-tools/cntvct-log_0.7.1.bb b/meta-oe/recipes-devtools/boot-time-analysis-tools/cntvct-log_0.7.1.bb new file mode 100644 index 0000000000..8cf2a4c225 --- /dev/null +++ b/meta-oe/recipes-devtools/boot-time-analysis-tools/cntvct-log_0.7.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "cntvct-log - ARM virtual counter boot time logger" +DESCRIPTION = "Userspace tool to log ARM CNTVCT_EL0 counter values for boot time analysis" +HOMEPAGE = "https://gitlab.com/CentOS/automotive/src/boot-time-analysis-tools" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1c2e0cc0dec0b709fe547806b55737b0" + +SRC_URI = "git://gitlab.com/CentOS/automotive/src/boot-time-analysis-tools.git;protocol=https;branch=main;tag=${PV}" +SRCREV = "2409ce37e7389d8079bdb8740cb6a44b505fb8d4" + +S = "${UNPACKDIR}/cntvct-log-${PV}/cntvct-log" + +inherit meson systemd + +# Manually install service file if meson.build doesn't handle it +do_install:append() { + if [ -f ${S}/usr/lib/systemd/system/cntvct@.service ]; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/usr/lib/systemd/system/cntvct@.service \ + ${D}${systemd_system_unitdir}/cntvct@.service + fi +} + +SYSTEMD_SERVICE:${PN} = "cntvct@.service" +SYSTEMD_AUTO_ENABLE = "disable" + +# Explicitly include the service file in the package +FILES:${PN} += "${systemd_system_unitdir}/cntvct@.service"