* [PATCH v2 0/2] Add riscv64 support for Ubuntu Noble
@ 2025-11-03  7:55 Anton Mikanovich
  2025-11-03  7:55 ` [PATCH v2 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar Anton Mikanovich
  2025-11-03  7:55 ` [PATCH v2 2/2] testsuite: Add cross-build and run tests for riscv64 targets Anton Mikanovich
  0 siblings, 2 replies; 3+ messages in thread
From: Anton Mikanovich @ 2025-11-03  7:55 UTC (permalink / raw)
  To: isar-users; +Cc: Anton Mikanovich
We haven't had Ubuntu riscv64 support in Isar yet despite of existing
upstream support.
Add the support itself and corresponding tests to track it in CI.
Changes in v2:
- Fix regression with incorrect kernel selection for focal/jammy.
Uladzimir Bely (2):
  meta-isar: Add ubuntu-ports riscv64 support in Isar
  testsuite: Add cross-build and run tests for riscv64 targets
 kas/machine/Kconfig                           |  2 ++
 meta-isar/conf/distro/ubuntu-common.inc       |  3 ++
 meta-isar/conf/distro/ubuntu-noble-ports.list | 12 +++----
 meta-isar/conf/machine/qemuriscv64.conf       |  3 ++
 meta-isar/conf/mc.conf                        |  1 +
 .../conf/multiconfig/qemuriscv64-noble.conf   |  7 ++++
 testsuite/citest.py                           | 35 +++++++++++++++++++
 testsuite/start_vm.py                         |  2 +-
 8 files changed, 58 insertions(+), 7 deletions(-)
 create mode 100644 meta-isar/conf/multiconfig/qemuriscv64-noble.conf
-- 
2.34.1
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20251103075522.187102-1-amikan%40ilbers.de.
^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH v2 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar
  2025-11-03  7:55 [PATCH v2 0/2] Add riscv64 support for Ubuntu Noble Anton Mikanovich
@ 2025-11-03  7:55 ` Anton Mikanovich
  2025-11-03  7:55 ` [PATCH v2 2/2] testsuite: Add cross-build and run tests for riscv64 targets Anton Mikanovich
  1 sibling, 0 replies; 3+ messages in thread
From: Anton Mikanovich @ 2025-11-03  7:55 UTC (permalink / raw)
  To: isar-users; +Cc: Uladzimir Bely, Anton Mikanovich
From: Uladzimir Bely <ubely@ilbers.de>
Ubuntu ports provides not only arm64/armhf architectures we currently
support in Isar, but also some other architectures.
Provide possibility to build ubuntu/riscv64 targets.
Also, change kas configuration to allow selecting ubuntu-noble for
qemuriscv64 build without enabling ANY_MACHINE_DISTRO option.
Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 kas/machine/Kconfig                               |  2 ++
 meta-isar/conf/distro/ubuntu-common.inc           |  3 +++
 meta-isar/conf/distro/ubuntu-noble-ports.list     | 12 ++++++------
 meta-isar/conf/machine/qemuriscv64.conf           |  3 +++
 meta-isar/conf/mc.conf                            |  1 +
 meta-isar/conf/multiconfig/qemuriscv64-noble.conf |  7 +++++++
 6 files changed, 22 insertions(+), 6 deletions(-)
 create mode 100644 meta-isar/conf/multiconfig/qemuriscv64-noble.conf
diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig
index e09304c0..58d9fd66 100644
--- a/kas/machine/Kconfig
+++ b/kas/machine/Kconfig
@@ -168,6 +168,8 @@ config MACHINE_QEMU_RISCV64
 	select DISTRO_DEBIAN
 	select CODENAME_TRIXIE
 	select CODENAME_SID
+	select DISTRO_UBUNTU
+	select CODENAME_NOBLE
 	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 f1e8a1d6..49638d0e 100644
--- a/meta-isar/conf/distro/ubuntu-common.inc
+++ b/meta-isar/conf/distro/ubuntu-common.inc
@@ -12,6 +12,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-noble-ports.list b/meta-isar/conf/distro/ubuntu-noble-ports.list
index adeb2639..9b101e3d 100644
--- a/meta-isar/conf/distro/ubuntu-noble-ports.list
+++ b/meta-isar/conf/distro/ubuntu-noble-ports.list
@@ -1,6 +1,6 @@
-deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports noble main restricted universe multiverse
-deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports noble main restricted universe multiverse
-deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports noble-updates main restricted universe multiverse
-deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports noble-updates main restricted universe multiverse
-deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports noble-security main restricted universe multiverse
-deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports noble-security main restricted universe multiverse
+deb	[arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports noble main restricted universe multiverse
+deb-src	[arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports noble main restricted universe multiverse
+deb	[arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports noble-updates main restricted universe multiverse
+deb-src	[arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports noble-updates main restricted universe multiverse
+deb	[arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports noble-security main restricted universe multiverse
+deb-src	[arch=armhf,arm64,riscv64] http://ports.ubuntu.com/ubuntu-ports noble-security main restricted universe multiverse
diff --git a/meta-isar/conf/machine/qemuriscv64.conf b/meta-isar/conf/machine/qemuriscv64.conf
index 541e4abd..4cb4f371 100644
--- a/meta-isar/conf/machine/qemuriscv64.conf
+++ b/meta-isar/conf/machine/qemuriscv64.conf
@@ -7,6 +7,9 @@
 DISTRO_ARCH ?= "riscv64"
 
 KERNEL_NAME ?= "riscv64"
+KERNEL_NAME:ubuntu ?= "generic"
+KERNEL_NAME:ubuntu-jammy ?= "generic"
+KERNEL_NAME:ubuntu-noble ?= "generic"
 
 IMAGE_FSTYPES ?= "ext4"
 ROOTFS_EXTRA ?= "128"
diff --git a/meta-isar/conf/mc.conf b/meta-isar/conf/mc.conf
index 493d5ae2..f97e2d28 100644
--- a/meta-isar/conf/mc.conf
+++ b/meta-isar/conf/mc.conf
@@ -70,6 +70,7 @@ BBMULTICONFIG = " \
     qemuamd64-focal \
     qemuamd64-jammy \
     qemuamd64-noble \
+    qemuriscv64-noble \
     qemuamd64-sid \
     qemuarm64-sid \
 "
diff --git a/meta-isar/conf/multiconfig/qemuriscv64-noble.conf b/meta-isar/conf/multiconfig/qemuriscv64-noble.conf
new file mode 100644
index 00000000..9a2b0430
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuriscv64-noble.conf
@@ -0,0 +1,7 @@
+# This software is a part of Isar.
+# Copyright (C) 2025 ilbers GmbH
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuriscv64"
+DISTRO ?= "ubuntu-noble"
-- 
2.34.1
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20251103075522.187102-2-amikan%40ilbers.de.
^ permalink raw reply	[flat|nested] 3+ messages in thread
* [PATCH v2 2/2] testsuite: Add cross-build and run tests for riscv64 targets
  2025-11-03  7:55 [PATCH v2 0/2] Add riscv64 support for Ubuntu Noble Anton Mikanovich
  2025-11-03  7:55 ` [PATCH v2 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar Anton Mikanovich
@ 2025-11-03  7:55 ` Anton Mikanovich
  1 sibling, 0 replies; 3+ messages in thread
From: Anton Mikanovich @ 2025-11-03  7:55 UTC (permalink / raw)
  To: isar-users; +Cc: Uladzimir Bely, Anton Mikanovich
From: Uladzimir Bely <ubely@ilbers.de>
Since stability of new riscv64 targets is not known yet, don't mark
complete CI as failed if some of new tests fail.
Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
 testsuite/citest.py   | 35 +++++++++++++++++++++++++++++++++++
 testsuite/start_vm.py |  2 +-
 2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/testsuite/citest.py b/testsuite/citest.py
index a1214e9c..f4ae5a72 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -255,6 +255,21 @@ class CrossTest(CIBaseTest):
         self.init()
         self.perform_build_test(targets)
 
+    def test_cross_riscv64(self):
+        """
+        :avocado: tags=riscv64
+        """
+        targets = [
+            'mc:qemuriscv64-trixie:isar-image-ci',
+            'mc:qemuriscv64-noble:isar-image-ci',
+        ]
+
+        self.init()
+        try:
+            self.perform_build_test(targets, cross=False)
+        except exceptions.TestFail:
+            self.cancel('KFAIL')
+
 
 class KernelTests(CIBaseTest):
     """
@@ -644,6 +659,26 @@ class VmBootTestFast(CIBaseTest):
         self.init()
         self.vm_start('arm64', 'trixie')
 
+    def test_riscv64_trixie(self):
+        """
+        :avocado: tags=riscv64
+        """
+        self.init()
+        try:
+            self.vm_start('riscv64', 'trixie', image='isar-image-ci')
+        except exceptions.TestFail:
+            self.cancel('KFAIL')
+
+    def test_riscv64_noble(self):
+        """
+        :avocado: tags=riscv64
+        """
+        self.init()
+        try:
+            self.vm_start('riscv64', 'noble', image='isar-image-ci')
+        except exceptions.TestFail:
+            self.cancel('KFAIL')
+
 
 class VmBootTestFull(CIBaseTest):
 
diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py
index 57d169df..18c6139c 100755
--- a/testsuite/start_vm.py
+++ b/testsuite/start_vm.py
@@ -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',
-- 
2.34.1
-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/20251103075522.187102-3-amikan%40ilbers.de.
^ permalink raw reply	[flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-11-03  7:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-03  7:55 [PATCH v2 0/2] Add riscv64 support for Ubuntu Noble Anton Mikanovich
2025-11-03  7:55 ` [PATCH v2 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar Anton Mikanovich
2025-11-03  7:55 ` [PATCH v2 2/2] testsuite: Add cross-build and run tests for riscv64 targets Anton Mikanovich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox