From patchwork Mon Jun 29 09:46:22 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Mikanovich X-Patchwork-Id: 5199 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 29 Jun 2026 11:46:46 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wr1-f61.google.com (mail-wr1-f61.google.com [209.85.221.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 65T9kjuS023678 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 29 Jun 2026 11:46:45 +0200 Received: by mail-wr1-f61.google.com with SMTP id ffacd0b85a97d-4629f312a67sf2650461f8f.2 for ; Mon, 29 Jun 2026 02:46:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1782726400; cv=pass; d=google.com; s=arc-20260327; b=NkXylIInyCjt2Dd9xxekAHFym7OHS8pYWrN9Kw3OoQk8sO2v5fsqebYe49NHNo91vV oZyi3c4NS2CLFE4TIvYlklHioRDcXKgIhsF0ZXx1BscY5qC2WRZ/FcrsRH++GrAN+eZg 1jRV3GV+QbbBmPP18Fw+wQCU/GXd/krhPCwzkh8Lt0R/5tIKmWvM52RN56aLlEirpak2 a2AlDsqsEwG9SQy8XlXfj85rsyUvJHDovZRNpfoqu1naARp/HkvFtzBwDQJgXGyZf9re ILHhgT79j2yJk8q2Y96G6SZxop9DCOkwZsUvfl7pW7y48xVfrowGZHTJ7j0cuf494rLX bP9w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=/lE8QIEM80tPPObEO1BoZPr0EVzRBD0j+ilUztDZZRI=; fh=gX2p2d2sMQS9vzTTCtRTXZ7MAvT5+oGi4ZhMY38iqQs=; b=aFWCjU4zYxvAipO6PShSGjBLLGVD+8F/Wt55rU4JYVaQls3L87Eh/IX+SJE1a3QiDH lyeuFvNT66gmy2kGK4IUFRCtJg/4mL5dQmvH5vp+r/qAMZnjpGrjWp8/mdsaxXha1d9r zLvBzt9g9db8qXS469t9cOChudoLpEKDYNQyfcMPR7LL30zD2FH/3gH1sDeDsN9w2NTp Rpo6/Ukatm9CHcKPKzo1s7r3OH2cj2W7SPY3JFLdex+/swgkcVW0+nW388BUkr/OLR7d 6DmlHUDR5FFG6zzKimaNsscSegII+9RHHMq6crna1rNa07kPJaTnByhwu0TTcycODbTf rq8A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20251104; t=1782726400; x=1783331200; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=/lE8QIEM80tPPObEO1BoZPr0EVzRBD0j+ilUztDZZRI=; b=bgRcPZyOymgqIhQWL+CXEcHPEOyCBbVpuLbnXbkgejHSoXNORcZp3xyxyA0hIN9XjF bNf80A4k/n3UNG0PirHUsas/jHdVIiIff4vzakST06QljGfOmGy3rmi5nuXNw1INw50l TWMRzmA3VR9f1V03e3CHVpoQBSoqpXUkIZxBnslgt8FnDwLHvFI9z+4GvQ86vnt6aZcu VoAFpBT7XxWmY3+ompWg+bzH151IuFAtuzdIBGfcS+N47n9cHkj11d+KEVZOJn/Dc0Eh OH6crsFCUDAP5amqjO9v1LEECIiJ9zDiYyamBWmxBECeOBgNysrMWpAJVSLAhpfo9gZ+ qHDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782726400; x=1783331200; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=/lE8QIEM80tPPObEO1BoZPr0EVzRBD0j+ilUztDZZRI=; b=JOyWNsSvffVrC2lbo+9eKVuTgv3sVpLtJY1I9fsbWJ4RoDwS/rQXazdD1C0aNt66Rm St3qg+gn9buvZB9U0jWx1kQrBeO26lHsG2dQg9eYdMYlbX+VLqRiJE8Y/v5+Jsm+HyJF 5xBaZAd1jbey6YvJ0DYd1Xxt2m5dq+b+rUKEadDyAmaLW8UxKdInbwdhgU3SKAMlxTUi hNXREmu7J9mpAvSjZiQyTg4UKbRyhdsRN5HtZBxxg2PRHDiB/2A9BdRj5IsAgKvjZj1p YAo8Jkb66VPzZLnGJw0mnwi8Sg49BREUBDa1U16di8558V/Igz7NzoGcfw+dKvUzJxhm DPag== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AFNElJ8VOLmN+Qt0xsanfCXWGGKvJ4bV9LdCAaSPDjRVSI/5kbSHf9gYTzh9K0WdGEPPkab01r7m2Vc=@isar-build.org X-Gm-Message-State: AOJu0Yxcn4hjBwFcKiYNgjO0U0ltlwz8bMlVJ/vNHJ+6jtrzHnJFq3PG xpvUy7gpAWx3maW4xcFljdgKZbCNgFMrxtfCwHOoxkHDJoH9+dMUPHo8 X-Received: by 2002:a05:600c:c16f:b0:493:a7fd:15d6 with SMTP id 5b1f17b1804b1-493a7fd1852mr58775955e9.9.1782726399927; Mon, 29 Jun 2026 02:46:39 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="AX0PUUd+0A2PPNweLr5uVzwN0XeK7tTPHTXGMGf24jB9aSdcYw==" Received: by 2002:a05:600c:e558:20b0:490:e342:10d with SMTP id 5b1f17b1804b1-49237e3d17als54893305e9.1.-pod-prod-05-eu; Mon, 29 Jun 2026 02:46:38 -0700 (PDT) X-Received: by 2002:a05:600c:6296:b0:493:a435:d870 with SMTP id 5b1f17b1804b1-493a435dab7mr87493685e9.27.1782726397759; Mon, 29 Jun 2026 02:46:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782726397; cv=none; d=google.com; s=arc-20260327; b=aY2/MJji60bRijSB3wWxLctan8MvFnRiRME+i/ttKPk85JkoCvKcUndfz5mCx6DuOH N232YLUQeIyiLDG78OeRZ79SHwR+UBwZOQjlR6NNLLMXV8RWG32YJu++vOQfHBb2Ei2k 7HnnbYKfxDpl4rgeDTAtGHWbQaE+nZP3IZC6TM56dotwniioHK2BnYgYn4nvefD+643L a0b4nXHlbB6Wdsw3K9aMBYmHjHcyC1G7EHG5xGZT22NHmsWgYW75KrzNTEz3fFSpjtAD b9cerTE5C51lrYqF6jyY7kyezUZ1WbuEyo66vTQrycIT14cIXnsWgtBrDmo6YVHApWcc Nrjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=fqQUXdykRsJtFbxSFyxchN7+5Teqt5MV/n04zrmxCO4=; fh=/h9QQkzJ8EboVkWg45aWwpaUro6WMavIVd2OhN45RtE=; b=Sat9/xaztFWlxWhtSeYVXRv3lmohS0LUvDvtopzXnHNZnZApJaLyEPCsFa0XAvVsFG go+ZhfsDQ+t+SI6bZ89cJAuQB7Hskb9g9pY9OIecTUV4kksRlD8NXfO6fcYvIyiABY+X ci+1hqgTVzlfSeBhIv1McnJ6cgNoUzsk93uVvmEwM719tUQXgb4i4oxydKn085ba/CSO EF9vnFqi5lL633AlqEgSxFvG4k3NRB8d5zoK3RkIA2cixqXx2evYTZu1iJxzL/ggZLLA x/tpE+K6mwBbUhVxVYjLtHnwsNfE9HAqlB3mqPZeG2k+FgmhNsO5h4LSYSthaSU1GFDh ji5w==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-493b21a6d01si227995e9.1.2026.06.29.02.46.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 29 Jun 2026 02:46:37 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from user-B660.promwad.corp ([159.148.83.123]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 65T9kVVD023553 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 29 Jun 2026 11:46:36 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v2 09/11] meta: Add Ubuntu 26.04 (Resolute Raccoon) support Date: Mon, 29 Jun 2026 12:46:22 +0300 Message-Id: <20260629094624.855927-10-amikan@ilbers.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260629094624.855927-1-amikan@ilbers.de> References: <20260629094624.855927-1-amikan@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-Original-Sender: amikan@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Create AMD64, ARM64 and RISCV64 configurations and put them under fast CI testsuite. Test cases for the RISCV64 are covered with KFAIL since stability of this architecture on Ubuntu is not known yet. Startvm test case for ARM64 is currently broken because of moving this target to UEFI, so mark it as TODO and cover with KFAIL for now. Signed-off-by: Anton Mikanovich --- kas/distro/Kconfig | 10 ++- kas/distro/ubuntu-resolute.yaml | 9 +++ kas/machine/Kconfig | 4 ++ meta-isar/conf/distro/ubuntu-common.inc | 6 +- .../conf/distro/ubuntu-resolute-ports.list | 6 ++ meta-isar/conf/distro/ubuntu-resolute.conf | 14 ++++ meta-isar/conf/distro/ubuntu-resolute.list | 6 ++ meta-isar/conf/machine/qemuarm64.conf | 8 +-- meta-isar/conf/machine/qemuriscv64.conf | 3 +- meta-isar/conf/mc.conf | 3 + .../conf/multiconfig/qemuamd64-resolute.conf | 7 ++ .../conf/multiconfig/qemuarm64-resolute.conf | 7 ++ .../multiconfig/qemuriscv64-resolute.conf | 7 ++ testsuite/citest.py | 64 ++++++++++++++++++- testsuite/data/targets.yml | 6 ++ testsuite/start_vm.py | 5 +- 16 files changed, 155 insertions(+), 10 deletions(-) create mode 100644 kas/distro/ubuntu-resolute.yaml create mode 100644 meta-isar/conf/distro/ubuntu-resolute-ports.list create mode 100644 meta-isar/conf/distro/ubuntu-resolute.conf create mode 100644 meta-isar/conf/distro/ubuntu-resolute.list create mode 100644 meta-isar/conf/multiconfig/qemuamd64-resolute.conf create mode 100644 meta-isar/conf/multiconfig/qemuarm64-resolute.conf create mode 100644 meta-isar/conf/multiconfig/qemuriscv64-resolute.conf diff --git a/kas/distro/Kconfig b/kas/distro/Kconfig index e819ab70..9dadc52e 100644 --- a/kas/distro/Kconfig +++ b/kas/distro/Kconfig @@ -1,5 +1,5 @@ # This software is a part of Isar. -# Copyright (C) 2023-2024 ilbers GmbH +# Copyright (C) 2023-2026 ilbers GmbH # # SPDX-License-Identifier: MIT # @@ -44,6 +44,9 @@ config CODENAME_JAMMY config CODENAME_NOBLE bool +config CODENAME_RESOLUTE + bool + choice prompt "Distro selection" default DEBIAN_TRIXIE @@ -92,6 +95,10 @@ config UBUNTU_NOBLE bool "Ubuntu 24.04 (Noble)" depends on (DISTRO_UBUNTU && CODENAME_NOBLE) || ANY_MACHINE_DISTRO +config UBUNTU_RESOLUTE + bool "Ubuntu 26.04 (Resolute)" + depends on (DISTRO_UBUNTU && CODENAME_RESOLUTE) || ANY_MACHINE_DISTRO + endchoice config ANY_MACHINE_DISTRO @@ -114,5 +121,6 @@ config KAS_INCLUDE_DISTRO default "kas/distro/ubuntu-focal.yaml" if UBUNTU_FOCAL default "kas/distro/ubuntu-jammy.yaml" if UBUNTU_JAMMY default "kas/distro/ubuntu-noble.yaml" if UBUNTU_NOBLE + default "kas/distro/ubuntu-resolute.yaml" if UBUNTU_RESOLUTE endmenu diff --git a/kas/distro/ubuntu-resolute.yaml b/kas/distro/ubuntu-resolute.yaml new file mode 100644 index 00000000..fb643862 --- /dev/null +++ b/kas/distro/ubuntu-resolute.yaml @@ -0,0 +1,9 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +header: + version: 14 + +distro: ubuntu-resolute diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig index 6151716a..04881a4b 100644 --- a/kas/machine/Kconfig +++ b/kas/machine/Kconfig @@ -123,6 +123,7 @@ config MACHINE_QEMU_AMD64 select CODENAME_FOCAL select CODENAME_JAMMY select CODENAME_NOBLE + select CODENAME_RESOLUTE select ARCH_AMD64 config MACHINE_QEMU_ARM @@ -145,6 +146,7 @@ config MACHINE_QEMU_ARM64 select CODENAME_FOCAL select CODENAME_JAMMY select CODENAME_NOBLE + select CODENAME_RESOLUTE select ARCH_ARM64 config MACHINE_QEMU_I386 @@ -167,6 +169,8 @@ config MACHINE_QEMU_RISCV64 select DISTRO_DEBIAN select CODENAME_TRIXIE select CODENAME_SID + select DISTRO_UBUNTU + select CODENAME_RESOLUTE select ARCH_RISCV64 config MACHINE_RPI_ARM_V7 diff --git a/meta-isar/conf/distro/ubuntu-common.inc b/meta-isar/conf/distro/ubuntu-common.inc index 8b9964c8..1ee9bb84 100644 --- a/meta-isar/conf/distro/ubuntu-common.inc +++ b/meta-isar/conf/distro/ubuntu-common.inc @@ -1,5 +1,6 @@ -# +# This software is a part of Isar. # Copyright (c) Siemens AG, 2018-2023 +# Copyright (C) 2023-2024 ilbers GmbH # # SPDX-License-Identifier: MIT @@ -12,6 +13,9 @@ HOST_BASE_DISTRO = "${BASE_DISTRO}" DISTRO_APT_SOURCES:arm64 ?= "conf/distro/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}-ports.list" HOST_DISTRO_APT_SOURCES:arm64 ?= "conf/distro/${HOST_DISTRO}.list conf/distro/${HOST_DISTRO}-ports.list" +DISTRO_APT_SOURCES:riscv64 ?= "conf/distro/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}-ports.list" +HOST_DISTRO_APT_SOURCES:riscv64 ?= "conf/distro/${HOST_DISTRO}.list conf/distro/${HOST_DISTRO}-ports.list" + BOOTSTRAP_KEY = "file://${LAYERDIR_isar}/conf/distro/ubuntu.public.key;sha256sum=36a38199a4bf4eae1e7f574891f7dfcb79b91b87a33a499383265e1224b5e989" DISTRO_BOOTSTRAP_KEYS += "${BOOTSTRAP_KEY}" HOST_DISTRO_BOOTSTRAP_KEYS += "${BOOTSTRAP_KEY}" diff --git a/meta-isar/conf/distro/ubuntu-resolute-ports.list b/meta-isar/conf/distro/ubuntu-resolute-ports.list new file mode 100644 index 00000000..239cafe6 --- /dev/null +++ b/meta-isar/conf/distro/ubuntu-resolute-ports.list @@ -0,0 +1,6 @@ +deb [arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports resolute main restricted universe multiverse +deb-src [arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports resolute main restricted universe multiverse +deb [arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports resolute-updates main restricted universe multiverse +deb-src [arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports resolute-updates main restricted universe multiverse +deb [arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports resolute-security main restricted universe multiverse +deb-src [arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports resolute-security main restricted universe multiverse diff --git a/meta-isar/conf/distro/ubuntu-resolute.conf b/meta-isar/conf/distro/ubuntu-resolute.conf new file mode 100644 index 00000000..141f438f --- /dev/null +++ b/meta-isar/conf/distro/ubuntu-resolute.conf @@ -0,0 +1,14 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +require conf/distro/ubuntu-common.inc + +BASE_DISTRO_CODENAME = "resolute" + +DISTRO_GCC = "15" + +DEBIAN_COMPAT = "13" + +DEBIAN_STANDARDS_VERSION ?= "4.7.4" diff --git a/meta-isar/conf/distro/ubuntu-resolute.list b/meta-isar/conf/distro/ubuntu-resolute.list new file mode 100644 index 00000000..65dcc81e --- /dev/null +++ b/meta-isar/conf/distro/ubuntu-resolute.list @@ -0,0 +1,6 @@ +deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu resolute main restricted universe multiverse +deb-src [arch=amd64,i386] http://archive.ubuntu.com/ubuntu resolute main restricted universe multiverse +deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu resolute-updates main restricted universe multiverse +deb-src [arch=amd64,i386] http://archive.ubuntu.com/ubuntu resolute-updates main restricted universe multiverse +deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu resolute-security main restricted universe multiverse +deb-src [arch=amd64,i386] http://archive.ubuntu.com/ubuntu resolute-security main restricted universe multiverse diff --git a/meta-isar/conf/machine/qemuarm64.conf b/meta-isar/conf/machine/qemuarm64.conf index 0cc7457c..4b76e5c1 100644 --- a/meta-isar/conf/machine/qemuarm64.conf +++ b/meta-isar/conf/machine/qemuarm64.conf @@ -1,12 +1,12 @@ # This software is a part of Isar. -# Copyright (C) 2015-2017 ilbers GmbH +# Copyright (C) 2015-2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT DISTRO_ARCH ?= "arm64" KERNEL_NAME ?= "arm64" -KERNEL_NAME:ubuntu-focal ?= "generic" -KERNEL_NAME:ubuntu-jammy ?= "generic" -KERNEL_NAME:ubuntu-noble ?= "generic" +KERNEL_NAME:ubuntu ?= "generic" IMAGE_FSTYPES ?= "ext4" ROOTFS_EXTRA ?= "128" diff --git a/meta-isar/conf/machine/qemuriscv64.conf b/meta-isar/conf/machine/qemuriscv64.conf index f2a32b8e..a2a5de9b 100644 --- a/meta-isar/conf/machine/qemuriscv64.conf +++ b/meta-isar/conf/machine/qemuriscv64.conf @@ -1,5 +1,5 @@ # This software is a part of Isar. -# Copyright (C) 2015-2017 ilbers GmbH +# Copyright (C) 2015-2026 ilbers GmbH # Copyright (c) Siemens AG, 2020 # # SPDX-License-Identifier: MIT @@ -7,6 +7,7 @@ DISTRO_ARCH ?= "riscv64" KERNEL_NAME ?= "riscv64" +KERNEL_NAME:ubuntu ?= "generic" IMAGE_FSTYPES ?= "ext4" ROOTFS_EXTRA ?= "128" diff --git a/meta-isar/conf/mc.conf b/meta-isar/conf/mc.conf index 6c7d7840..6f9ac7df 100644 --- a/meta-isar/conf/mc.conf +++ b/meta-isar/conf/mc.conf @@ -72,9 +72,12 @@ BBMULTICONFIG = " \ qemuarm64-focal \ qemuarm64-jammy \ qemuarm64-noble \ + qemuarm64-resolute \ qemuamd64-focal \ qemuamd64-jammy \ qemuamd64-noble \ + qemuamd64-resolute \ qemuamd64-sid \ qemuarm64-sid \ + qemuriscv64-resolute \ " diff --git a/meta-isar/conf/multiconfig/qemuamd64-resolute.conf b/meta-isar/conf/multiconfig/qemuamd64-resolute.conf new file mode 100644 index 00000000..8c997f89 --- /dev/null +++ b/meta-isar/conf/multiconfig/qemuamd64-resolute.conf @@ -0,0 +1,7 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +MACHINE ?= "qemuamd64" +DISTRO ?= "ubuntu-resolute" diff --git a/meta-isar/conf/multiconfig/qemuarm64-resolute.conf b/meta-isar/conf/multiconfig/qemuarm64-resolute.conf new file mode 100644 index 00000000..cdb25642 --- /dev/null +++ b/meta-isar/conf/multiconfig/qemuarm64-resolute.conf @@ -0,0 +1,7 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +MACHINE ?= "qemuarm64" +DISTRO ?= "ubuntu-resolute" diff --git a/meta-isar/conf/multiconfig/qemuriscv64-resolute.conf b/meta-isar/conf/multiconfig/qemuriscv64-resolute.conf new file mode 100644 index 00000000..4f2c6b9e --- /dev/null +++ b/meta-isar/conf/multiconfig/qemuriscv64-resolute.conf @@ -0,0 +1,7 @@ +# This software is a part of Isar. +# Copyright (C) 2026 ilbers GmbH +# +# SPDX-License-Identifier: MIT + +MACHINE ?= "qemuriscv64" +DISTRO ?= "ubuntu-resolute" diff --git a/testsuite/citest.py b/testsuite/citest.py index ff2f9ba4..5975b2cc 100644 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # # This software is a part of Isar. -# Copyright (C) 2022-2025 ilbers GmbH +# Copyright (C) 2022-2026 ilbers GmbH # Copyright (C) 2022-2025 Siemens AG # # SPDX-License-Identifier: MIT @@ -262,6 +262,8 @@ class CrossTest(CIBaseTest): 'mc:qemuarm64-trixie:isar-image-base', 'mc:qemuarm64-focal:isar-image-base', 'mc:nanopi-neo-efi-bookworm:isar-image-base', + 'mc:qemuarm64-resolute:isar-image-base', + 'mc:qemuamd64-resolute:isar-image-base', ] self.init() @@ -384,6 +386,42 @@ class CrossTest(CIBaseTest): self.init() self.vm_start('arm64', 'focal') + # TODO: broken because of moving to UEFI + def test_run_arm64_resolute(self): + """ + :avocado: tags=startvm + """ + self.init() + try: + self.vm_start('arm64', 'resolute') + except exceptions.TestFail: + self.cancel('KFAIL') + + def test_run_amd64_resolute(self): + """ + :avocado: tags=startvm + """ + self.init() + self.vm_start('amd64', 'resolute') + + def test_cross_debsrc(self): + targets = [ + 'mc:qemuarm64-bookworm:isar-image-ci', + ] + + self.init() + # only build a single custom package to speedup test + self.perform_build_test(targets, debsrc_cache=True, image_install='cowsay') + + def test_cross_trixie(self): + targets = [ + 'mc:qemuamd64-trixie:isar-image-base', + 'mc:qemuarm64-trixie:isar-image-base', + ] + + self.init() + self.perform_build_test(targets, cross=False) + def test_cross_debsrc(self): targets = [ 'mc:qemuarm64-bookworm:isar-image-ci', @@ -430,6 +468,30 @@ class CrossTest(CIBaseTest): self.perform_build_test(targets, lines=lines, image_install=image_install) + def test_cross_riscv64(self): + """ + :avocado: tags=riscv64 + """ + targets = [ + 'mc:qemuriscv64-resolute:isar-image-ci', + ] + + self.init() + try: + self.perform_build_test(targets) + except exceptions.TestFail: + self.cancel('KFAIL') + + def test_run_riscv64_resolute(self): + """ + :avocado: tags=startvm,riscv64 + """ + self.init() + try: + self.vm_start('riscv64', 'resolute', image='isar-image-ci') + except exceptions.TestFail: + self.cancel('KFAIL') + def test_cross_mira_trixie(self): targets = [ 'mc:phyboard-mira-trixie:isar-image-base', diff --git a/testsuite/data/targets.yml b/testsuite/data/targets.yml index e7b112d9..f480d034 100644 --- a/testsuite/data/targets.yml +++ b/testsuite/data/targets.yml @@ -127,16 +127,22 @@ a: !mux name: qemuarm64-jammy qemuarm64-noble: name: qemuarm64-noble + qemuarm64-resolute: + name: qemuarm64-resolute qemuamd64-focal: name: qemuamd64-focal qemuamd64-jammy: name: qemuamd64-jammy qemuamd64-noble: name: qemuamd64-noble + qemuamd64-resolute: + name: qemuamd64-resolute qemuamd64-sid: name: qemuamd64-sid qemuarm64-sid: name: qemuarm64-sid + qemuriscv64-resolute: + name: qemuriscv64-resolute b: !mux base: image: isar-image-base diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 8e28f11b..15d5ed5c 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -48,7 +48,7 @@ def format_qemu_cmdline( extra_args = '' image_type = image_fstypes.split()[0] - base = 'ubuntu' if distro in ['jammy', 'focal', 'noble'] else 'debian' + base = 'ubuntu' if distro in ['jammy', 'focal', 'noble', 'resolute'] else 'debian' rootfs_image = f"{image}-{base}-{distro}-qemu{arch}.{image_type}" @@ -148,7 +148,7 @@ def start_qemu(arch, build, distro, image, out, pid, enforce_pcbios): def parse_args(): parser = argparse.ArgumentParser() - arch_names = ['arm', 'arm64', 'amd64', 'amd64-sb', 'amd64-cip', 'amd64-iso', 'i386', 'mipsel'] + arch_names = ['arm', 'arm64', 'amd64', 'amd64-sb', 'amd64-cip', 'amd64-iso', 'i386', 'mipsel', 'riscv64'] distro_names = [ 'buster', 'bullseye', @@ -157,6 +157,7 @@ def parse_args(): 'focal', 'jammy', 'noble', + 'resolute', ] parser.add_argument( '-a',