From 0227223c7e68985e3b0450fbe0c753a97fbaa5e0 Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Tue, 10 Feb 2026 09:27:17 +0200 Subject: [PATCH 1/5] rootfs: Rename bookworm to trixie This is start of large rebuild of all rootfs images, for now just renaming bookworm to trixie and building one by one. Signed-off-by: Denys Fedoryshchenko --- config/core/rootfs-configs.yaml | 100 ++++++++++++++++---------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/config/core/rootfs-configs.yaml b/config/core/rootfs-configs.yaml index 0ed446aae0..37be54b73c 100644 --- a/config/core/rootfs-configs.yaml +++ b/config/core/rootfs-configs.yaml @@ -1,7 +1,7 @@ rootfs_configs: - bookworm: + trixie: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -12,7 +12,7 @@ rootfs_configs: - mipsel extra_packages: - isc-dhcp-client - extra_packages_remove: &extra_packages_remove_bookworm + extra_packages_remove: &extra_packages_remove_trixie - bash - e2fslibs - e2fsprogs @@ -24,7 +24,7 @@ rootfs_configs: - libp11-kit0 - libunistring2 - sensible-utils - extra_files_remove: &extra_files_remove_bookworm + extra_files_remove: &extra_files_remove_trixie - '*networkd*' - '*resolved*' - nosuspend.conf @@ -36,9 +36,9 @@ rootfs_configs: script: "scripts/install-bootrr.sh" test_overlay: "overlays/baseline" - bookworm-blktest: + trixie-blktest: rootfs_type: debos - debian_release: bookworm + debian_release: trixie imagesize: 4GB debos_memory: 8G arch_list: @@ -78,7 +78,7 @@ rootfs_configs: - zutils - wget - curl - script: "scripts/bookworm-blktest.sh" + script: "scripts/trixie-blktest.sh" crush_image_options: - filesystem - hostname_tool @@ -89,9 +89,9 @@ rootfs_configs: test_overlay: "overlays/blktests" - bookworm-cros-ec: + trixie-cros-ec: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -112,12 +112,12 @@ rootfs_configs: - rtl_nic/rtl8153b-2.fw - rockchip/dptx.bin linux_fw_version: d526e044bddaa2c2ad855c7296147e49be0ab03c - script: "scripts/bookworm-cros-ec-tests.sh" + script: "scripts/trixie-cros-ec-tests.sh" test_overlay: "" - bookworm-deqp-runner: + trixie-deqp-runner: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -137,23 +137,23 @@ rootfs_configs: - python3-minimal - sntp - zstd - script: "scripts/bookworm-deqp-runner.sh" + script: "scripts/trixie-deqp-runner.sh" imagesize: 4GB debos_memory: 8G debos_scratchsize: 16G - bookworm-fault-injection: + trixie-fault-injection: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 - armhf - script: "scripts/bookworm-fault-injection.sh" + script: "scripts/trixie-fault-injection.sh" - bookworm-gst-fluster: + trixie-gst-fluster: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -185,14 +185,14 @@ rootfs_configs: - python3-yaml - unzip - wget - script: "scripts/bookworm-gst-fluster.sh" + script: "scripts/trixie-gst-fluster.sh" test_overlay: "overlays/fluster" imagesize: 2GB debos_memory: 8G - bookworm-gst-h26forge: + trixie-gst-h26forge: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -215,15 +215,15 @@ rootfs_configs: - python3-yaml - unzip - wget - script: "scripts/bookworm-gst-h26forge.sh" + script: "scripts/trixie-gst-h26forge.sh" test_overlay: "overlays/h26forge" imagesize: 4GB debos_memory: 8G debos_scratchsize: 16G - bookworm-igt: + trixie-igt: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -282,9 +282,9 @@ rootfs_configs: debos_scratchsize: 16G - bookworm-kselftest: + trixie-kselftest: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -338,11 +338,11 @@ rootfs_configs: - tpm2-tools - wget - xz-utils - script: "scripts/bookworm-kselftest.sh" + script: "scripts/trixie-kselftest.sh" - bookworm-kvm-unit-tests: + trixie-kvm-unit-tests: rootfs_type: debos - debian_release: bookworm + debian_release: trixie imagesize: 2GB arch_list: - amd64 @@ -352,11 +352,11 @@ rootfs_configs: - python3-unittest2 - python3-yaml - qemu-system - script: "scripts/bookworm-kvm-unit-tests.sh" + script: "scripts/trixie-kvm-unit-tests.sh" - bookworm-libcamera: + trixie-libcamera: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -367,12 +367,12 @@ rootfs_configs: - bash - e2fslibs - e2fsprogs - script: "scripts/bookworm-libcamera.sh" + script: "scripts/trixie-libcamera.sh" test_overlay: "overlays/libcamera" - bookworm-libhugetlbfs: + trixie-libhugetlbfs: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -381,11 +381,11 @@ rootfs_configs: - bash - e2fslibs - e2fsprogs - script: "scripts/bookworm-libhugetlbfs.sh" + script: "scripts/trixie-libhugetlbfs.sh" - bookworm-rt: + trixie-rt: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -395,11 +395,11 @@ rootfs_configs: - procps - python3 - rtla - script: "scripts/bookworm-rt.sh" + script: "scripts/trixie-rt.sh" - bookworm-tast: + trixie-tast: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -422,14 +422,14 @@ rootfs_configs: - libva-drm2 - unzip - wget - script: "scripts/bookworm-tast.sh" + script: "scripts/trixie-tast.sh" test_overlay: "overlays/tast" imagesize: 14GB debos_memory: 8G - bookworm-v4l2: + trixie-v4l2: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -451,14 +451,14 @@ rootfs_configs: - mediatek/mt8186/scp.img - mediatek/mt8192/scp.img - mediatek/mt8195/scp.img - script: "scripts/bookworm-v4l2.sh" + script: "scripts/trixie-v4l2.sh" test_overlay: "overlays/v4l2" imagesize: 2GB debos_memory: 8G - bookworm-vdso: + trixie-vdso: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 @@ -468,11 +468,11 @@ rootfs_configs: - bash - e2fslibs - e2fsprogs - script: "scripts/bookworm-vdso.sh" + script: "scripts/trixie-vdso.sh" - bookworm-wifi: + trixie-wifi: rootfs_type: debos - debian_release: bookworm + debian_release: trixie arch_list: - amd64 - arm64 From 8e5ec64a473cb6bfd5bc0dd6911d3ed04a9e7ead Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Tue, 10 Feb 2026 10:40:06 +0200 Subject: [PATCH 2/5] rootfs: Fix attempt to remove tools from directory Signed-off-by: Denys Fedoryshchenko --- config/rootfs/debos/rootfs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/rootfs/debos/rootfs.yaml b/config/rootfs/debos/rootfs.yaml index 26da74eb75..c5888d3753 100644 --- a/config/rootfs/debos/rootfs.yaml +++ b/config/rootfs/debos/rootfs.yaml @@ -196,7 +196,7 @@ actions: chroot: true command: | for exp in {{ $extra_files_remove }}; do - for f in $(find . -name "$exp"); do + for f in $(find . -path './run/host' -prune -o -name "$exp" -print); do rm -rf "$f" done done From c7aad0061f46a8de1a9aa2a488ba1340f140524a Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Tue, 10 Feb 2026 14:39:16 +0200 Subject: [PATCH 3/5] rootfs: Fix minor issue with blktest Signed-off-by: Denys Fedoryshchenko --- .../debos/scripts/{bookworm-blktest.sh => trixie-blktest.sh} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename config/rootfs/debos/scripts/{bookworm-blktest.sh => trixie-blktest.sh} (98%) diff --git a/config/rootfs/debos/scripts/bookworm-blktest.sh b/config/rootfs/debos/scripts/trixie-blktest.sh similarity index 98% rename from config/rootfs/debos/scripts/bookworm-blktest.sh rename to config/rootfs/debos/scripts/trixie-blktest.sh index 9768ce200c..e69ebb17fd 100755 --- a/config/rootfs/debos/scripts/bookworm-blktest.sh +++ b/config/rootfs/debos/scripts/trixie-blktest.sh @@ -28,7 +28,7 @@ git config --global user.name "KernelCI Bot" curl https://sh.rustup.rs -sSf | sh -s -- -y . "$HOME/.cargo/env" || true # Install dependencies for blktests -cargo install --version=^0.1 rublk +cargo install --version=^0.2.13 rublk # cleanup cargo cache rm -rf /root/.cargo/registry rustup self uninstall -y From e46d8c2acc6e77469d4c5226df38734370fd3c29 Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Tue, 10 Feb 2026 14:53:40 +0200 Subject: [PATCH 4/5] rootfs: deqp-runner Signed-off-by: Denys Fedoryshchenko --- .../scripts/{bookworm-deqp-runner.sh => trixie-deqp-runner.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename config/rootfs/debos/scripts/{bookworm-deqp-runner.sh => trixie-deqp-runner.sh} (100%) diff --git a/config/rootfs/debos/scripts/bookworm-deqp-runner.sh b/config/rootfs/debos/scripts/trixie-deqp-runner.sh similarity index 100% rename from config/rootfs/debos/scripts/bookworm-deqp-runner.sh rename to config/rootfs/debos/scripts/trixie-deqp-runner.sh From 4fe817f94dd3cb48fc4243f5dd8e1eceaf5dcc9c Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Wed, 11 Feb 2026 12:53:48 +0200 Subject: [PATCH 5/5] rootfs: Update fluster Signed-off-by: Denys Fedoryshchenko --- .../debos/scripts/bookworm-gst-fluster.sh | 219 ------------------ 1 file changed, 219 deletions(-) delete mode 100755 config/rootfs/debos/scripts/bookworm-gst-fluster.sh diff --git a/config/rootfs/debos/scripts/bookworm-gst-fluster.sh b/config/rootfs/debos/scripts/bookworm-gst-fluster.sh deleted file mode 100755 index a60250a0fb..0000000000 --- a/config/rootfs/debos/scripts/bookworm-gst-fluster.sh +++ /dev/null @@ -1,219 +0,0 @@ -#!/bin/bash - -# Important: This script is run under QEMU - -set -e - -BUILD_DEPS="\ - g++ \ - flex \ - bison \ - ninja-build \ - git \ - python3-pip \ - pkg-config \ - openssl \ - ca-certificates \ - jq \ - wget \ - unzip \ - software-properties-common -" - -GST_DEPS="\ - libglib2.0-dev \ - libgudev-1.0-dev -" - -CACHING_SERVICE="http://kernelci1.eastus.cloudapp.azure.com:8888/cache?uri=" - -export DEBIAN_FRONTEND=noninteractive - -# Install dependencies -echo 'deb http://deb.debian.org/debian bookworm-backports main' >>/etc/apt/sources.list -apt-get update -apt-get install --no-install-recommends -y ${BUILD_DEPS} ${GST_DEPS} curl -apt-mark manual python3 libpython3-stdlib python3 libglib2.0-0 libgudev-1.0 - -# Get latest meson from pip -pip3 install meson --break-system-packages - -if [ "$(uname -m)" == "x86_64" ]; then - # Install non-free intel media-driver - apt-add-repository -y non-free - apt-get update - apt-get install -y intel-media-va-driver-non-free -fi - -# Verify if CACHING_SERVICE is reachable by curl, if not, unset it -if [ ! -z ${CACHING_SERVICE} ]; then - # disable set -e - set +e - curl -s --head --request GET ${CACHING_SERVICE} - # if exit code is not 0, unset CACHING_SERVICE - if [ $? -ne 0 ]; then - echo "CACHING_SERVICE is not reachable, unset it" - unset CACHING_SERVICE - fi - set -e -fi - -# Configure git -git config --global user.email "bot@kernelci.org" -git config --global user.name "KernelCI Bot" - -######################################################################## -# Build gstreamer # -######################################################################## -GSTREAMER_URL=https://gitlab.freedesktop.org/gstreamer/gstreamer.git -mkdir -p /var/tests/gstreamer && cd /var/tests/gstreamer - -git clone --depth 1 $GSTREAMER_URL . - -meson setup build \ - --wrap-mode=nofallback \ - -Dauto_features=disabled \ - -Dbad=enabled \ - -Dbase=enabled \ - -Dgood=enabled \ - -Dugly=disabled \ - -Dgst-plugins-bad:ivfparse=enabled \ - -Dgst-plugins-bad:debugutils=enabled \ - -Dgst-plugins-bad:v4l2codecs=enabled \ - -Dgst-plugins-bad:videoparsers=enabled \ - -Dgst-plugins-base:app=enabled \ - -Dgst-plugins-base:playback=enabled \ - -Dgst-plugins-base:tools=enabled \ - -Dgst-plugins-base:typefind=enabled \ - -Dgst-plugins-base:videoconvertscale=enabled \ - -Dgst-plugins-good:matroska=enabled \ - -Dgst-plugins-good:v4l2=enabled \ - -Dtools=enabled \ - -Ddevtools=disabled \ - -Dges=disabled \ - -Dlibav=disabled \ - -Drtsp_server=disabled - -ninja -C build -ninja -C build install - -######################################################################## -# Get fluster # -######################################################################## -get_json_obj_field() { - local json_obj=${1} - local field=${2} - - echo "${json_obj}" | jq ".${field}" | tr -d '"' -} - -extract_vector_from_archive() { - local archive_filename - archive_filename=$(readlink -e "${1}") - - local vector_filename=${2} - - case "${archive_filename}" in - *.tar.gz | *.tgz | *.tar.bz2 | *.tbz2) - tar -xf "${archive_filename}" - ;; - *.zip) - unzip -o "${archive_filename}" "${vector_filename}" - ;; - *) - return - ;; - esac - - rm "${archive_filename}" -} - -download_fluster_testsuite() { - local fluster_testsuite="${1}" - - [ -z "${fluster_testsuite}" ] && { - echo "No JSON test suite file provided" - exit 1 - } - - # disable set -e (immediate exit) to allow error handling after readlink failure - set +e - json_file=$(readlink -e "${fluster_testsuite}") - set -e - - if [ ! -f "${json_file}" ]; then - echo "${fluster_testsuite} file not found!" - exit 1 - fi - - suite_name=$(jq '.name' "${json_file}" | tr -d '"') - - # Create and enter suite directory - mkdir --parents ./resources/"${suite_name}" && pushd "$_" || exit - - vector_count=$(jq '.test_vectors | length' "${json_file}") - - for i in $(seq 0 $((vector_count - 1))); do - vector_json_obj=$(jq -c '.test_vectors['"${i}"']' "${json_file}") - - # Parse JSON to get vector information - vector_name=$(get_json_obj_field "${vector_json_obj}" 'name') - vector_url=$(get_json_obj_field "${vector_json_obj}" 'source') - vector_md5=$(get_json_obj_field "${vector_json_obj}" 'source_checksum') - vector_filename=$(get_json_obj_field "${vector_json_obj}" 'input_file') - - vector_archive=$(basename "${vector_url}") - - # Create and enter vector directory - mkdir --parents "${vector_name}" && pushd "$_" || exit - - # Download the test vector - if [ -z ${CACHING_SERVICE} ]; then - wget --no-verbose --inet4-only --no-clobber --tries 5 "${vector_url}" || exit - else - echo "${CACHING_SERVICE}${vector_url}" - wget --no-verbose --inet4-only --no-clobber --tries 5 "${CACHING_SERVICE}${vector_url}" -O "${vector_archive}" || exit - fi - - # Verify checksum - if [ "${vector_md5}" != "$(md5sum "${vector_archive}" | cut -d' ' -f1)" ]; then - echo "MD5 mismatch, exiting" - exit 1 - else - # Unpack if necessary - extract_vector_from_archive "${vector_archive}" "${vector_filename}" - fi - - popd || exit - - done - - popd || exit - -} - -FLUSTER_URL=https://github.com/fluendo/fluster.git - -mkdir -p /opt/fluster && cd /opt/fluster - -git clone $FLUSTER_URL . - -download_fluster_testsuite ./test_suites/av1/AV1-TEST-VECTORS.json -download_fluster_testsuite ./test_suites/av1/CHROMIUM-10bit-AV1-TEST-VECTORS.json -download_fluster_testsuite ./test_suites/h264/JVT-AVC_V1.json -download_fluster_testsuite ./test_suites/h264/JVT-FR-EXT.json -download_fluster_testsuite ./test_suites/h265/JCT-VC-HEVC_V1.json -download_fluster_testsuite ./test_suites/vp8/VP8-TEST-VECTORS.json -download_fluster_testsuite ./test_suites/vp9/VP9-TEST-VECTORS.json - -# Get junitparser for parsing fluster results -pip3 install junitparser --break-system-packages - -######################################################################## -# Cleanup: remove files and packages we don't want in the images # -######################################################################## -rm -rf /var/tests - -apt-get remove --purge -y ${BUILD_DEPS} -apt-get autoremove --purge -y -apt-get clean