* [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