meta: Add Ubuntu 26.04 (Resolute Raccoon) support

Message ID 20260610094637.4040701-1-amikan@ilbers.de
State New
Headers show
Series meta: Add Ubuntu 26.04 (Resolute Raccoon) support | expand

Commit Message

Anton Mikanovich June 10, 2026, 9:46 a.m. UTC
Also put it under full CI testsuite.

Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 kas/distro/Kconfig                                | 10 +++++++++-
 kas/distro/ubuntu-resolute.yaml                   |  9 +++++++++
 kas/machine/Kconfig                               |  2 ++
 meta-isar/conf/distro/ubuntu-resolute-ports.list  |  6 ++++++
 meta-isar/conf/distro/ubuntu-resolute.conf        | 15 +++++++++++++++
 meta-isar/conf/distro/ubuntu-resolute.list        |  6 ++++++
 meta-isar/conf/machine/qemuarm64.conf             |  5 ++++-
 meta-isar/conf/mc.conf                            |  2 ++
 .../conf/multiconfig/qemuamd64-resolute.conf      |  7 +++++++
 .../conf/multiconfig/qemuarm64-resolute.conf      |  7 +++++++
 testsuite/citest.py                               |  2 ++
 testsuite/data/targets.yml                        |  4 ++++
 12 files changed, 73 insertions(+), 2 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

Comments

Anton Mikanovich June 10, 2026, 10:06 a.m. UTC | #1
10.06.2026 12:46, Anton Mikanovich wrote:
> Also put it under full CI testsuite.
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
Target mc:qemuamd64-resolute:isar-image-base is currently unbuildable 
because
of the syntax error in scripts/lib/wic/engine.py.
The fix is already available in OE, so we just need to update external libs
including following commit:

https://git.yoctoproject.org/poky/commit/scripts/lib/wic/engine.py?h=yocto-5.0.18&id=62154d7594a72c14e7ccbebf7ca9fcf40c499c73

Patch

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 7cba1d09..9811d43d 100644
--- a/kas/machine/Kconfig
+++ b/kas/machine/Kconfig
@@ -122,6 +122,7 @@  config MACHINE_QEMU_AMD64
 	select CODENAME_FOCAL
 	select CODENAME_JAMMY
 	select CODENAME_NOBLE
+	select CODENAME_RESOLUTE
 	select ARCH_AMD64
 
 config MACHINE_QEMU_ARM
@@ -144,6 +145,7 @@  config MACHINE_QEMU_ARM64
 	select CODENAME_FOCAL
 	select CODENAME_JAMMY
 	select CODENAME_NOBLE
+	select CODENAME_RESOLUTE
 	select ARCH_ARM64
 
 config MACHINE_QEMU_I386
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..9666aba0
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-resolute-ports.list
@@ -0,0 +1,6 @@ 
+deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports resolute main restricted universe multiverse
+deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports resolute main restricted universe multiverse
+deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports resolute-updates main restricted universe multiverse
+deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports resolute-updates main restricted universe multiverse
+deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports resolute-security main restricted universe multiverse
+deb-src	[arch=armhf,arm64] 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..ae124814
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-resolute.conf
@@ -0,0 +1,15 @@ 
+# 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"
+
+# TODO
+DEBIAN_STANDARDS_VERSION ?= "4.7.0"
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..2e486619 100644
--- a/meta-isar/conf/machine/qemuarm64.conf
+++ b/meta-isar/conf/machine/qemuarm64.conf
@@ -1,5 +1,7 @@ 
 # 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"
 
@@ -7,6 +9,7 @@  KERNEL_NAME ?= "arm64"
 KERNEL_NAME:ubuntu-focal ?= "generic"
 KERNEL_NAME:ubuntu-jammy ?= "generic"
 KERNEL_NAME:ubuntu-noble ?= "generic"
+KERNEL_NAME:ubuntu-resolute ?= "generic"
 
 IMAGE_FSTYPES ?= "ext4"
 ROOTFS_EXTRA ?= "128"
diff --git a/meta-isar/conf/mc.conf b/meta-isar/conf/mc.conf
index 6c7d7840..cb69f5e3 100644
--- a/meta-isar/conf/mc.conf
+++ b/meta-isar/conf/mc.conf
@@ -72,9 +72,11 @@  BBMULTICONFIG = " \
     qemuarm64-focal \
     qemuarm64-jammy \
     qemuarm64-noble \
+    qemuarm64-resolute \
     qemuamd64-focal \
     qemuamd64-jammy \
     qemuamd64-noble \
+    qemuamd64-resolute \
     qemuamd64-sid \
     qemuarm64-sid \
 "
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/testsuite/citest.py b/testsuite/citest.py
index 250c01c6..6a4c2fee 100644
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -788,6 +788,8 @@  class NoCrossTest(CIBaseTest):
             'mc:beagleplay-bookworm:isar-image-base',
             'mc:qemuarm64-noble:isar-image-base',
             'mc:qemuamd64-noble:isar-image-base',
+            'mc:qemuarm64-resolute:isar-image-base',
+            'mc:qemuamd64-resolute:isar-image-base',
             'mc:qemuamd64-jammy:isar-image-base',
             'mc:qemuarm64-jammy:isar-image-base',
             'mc:x86-pc-bookworm:isar-image-base',
diff --git a/testsuite/data/targets.yml b/testsuite/data/targets.yml
index e7b112d9..a6769a0f 100644
--- a/testsuite/data/targets.yml
+++ b/testsuite/data/targets.yml
@@ -127,12 +127,16 @@  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: