public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH 0/2] Add riscv64 support for Ubuntu Noble
@ 2025-04-24  7:02 Uladzimir Bely
  2025-04-24  7:02 ` [PATCH 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar Uladzimir Bely
  2025-04-24  7:02 ` [PATCH 2/2] testsuite: Add cross-build and run tests for riscv64 targets Uladzimir Bely
  0 siblings, 2 replies; 3+ messages in thread
From: Uladzimir Bely @ 2025-04-24  7:02 UTC (permalink / raw)
  To: isar-users

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.

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       |  5 ++-
 meta-isar/conf/distro/ubuntu-noble-ports.list | 12 +++----
 meta-isar/conf/machine/qemuriscv64.conf       |  5 ++-
 meta-isar/conf/mc.conf                        |  1 +
 .../conf/multiconfig/qemuriscv64-noble.conf   |  7 ++++
 testsuite/citest.py                           | 35 +++++++++++++++++++
 testsuite/start_vm.py                         |  2 +-
 8 files changed, 60 insertions(+), 9 deletions(-)
 create mode 100644 meta-isar/conf/multiconfig/qemuriscv64-noble.conf

-- 
2.49.0

-- 
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/20250424070606.11003-1-ubely%40ilbers.de.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar
  2025-04-24  7:02 [PATCH 0/2] Add riscv64 support for Ubuntu Noble Uladzimir Bely
@ 2025-04-24  7:02 ` Uladzimir Bely
  2025-04-24  7:02 ` [PATCH 2/2] testsuite: Add cross-build and run tests for riscv64 targets Uladzimir Bely
  1 sibling, 0 replies; 3+ messages in thread
From: Uladzimir Bely @ 2025-04-24  7:02 UTC (permalink / raw)
  To: isar-users

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>
---
 kas/machine/Kconfig                               |  2 ++
 meta-isar/conf/distro/ubuntu-common.inc           |  5 ++++-
 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, 23 insertions(+), 7 deletions(-)
 create mode 100644 meta-isar/conf/multiconfig/qemuriscv64-noble.conf

diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig
index 8c334a8f..82e2715d 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 88a3b4f0..fac61fbe 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}"
@@ -21,7 +24,7 @@ DISTRO_BOOTSTRAP_BASE_PACKAGES:append:focal = " usrmerge"
 DISTRO_BOOTSTRAP_BASE_PACKAGES:append:jammy = " usrmerge"
 
 # kernel package name is linux-image-generic in Ubuntu
-KERNEL_NAME = "generic"
+KERNEL_NAME ?= "generic"
 
 # that is what debootstrap_1.0.118ubuntu1 does anyways
 DISTRO_DEBOOTSTRAP_SCRIPT = "/usr/share/debootstrap/scripts/gutsy"
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 b9656090..3f14727a 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 55969c7b..322c89b2 100644
--- a/meta-isar/conf/mc.conf
+++ b/meta-isar/conf/mc.conf
@@ -69,6 +69,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.49.0

-- 
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/20250424070606.11003-2-ubely%40ilbers.de.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 2/2] testsuite: Add cross-build and run tests for riscv64 targets
  2025-04-24  7:02 [PATCH 0/2] Add riscv64 support for Ubuntu Noble Uladzimir Bely
  2025-04-24  7:02 ` [PATCH 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar Uladzimir Bely
@ 2025-04-24  7:02 ` Uladzimir Bely
  1 sibling, 0 replies; 3+ messages in thread
From: Uladzimir Bely @ 2025-04-24  7:02 UTC (permalink / raw)
  To: isar-users

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>
---
 meta-isar/conf/machine/qemuriscv64.conf |  2 +-
 testsuite/citest.py                     | 35 +++++++++++++++++++++++++
 testsuite/start_vm.py                   |  2 +-
 3 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/meta-isar/conf/machine/qemuriscv64.conf b/meta-isar/conf/machine/qemuriscv64.conf
index 3f14727a..4cb4f371 100644
--- a/meta-isar/conf/machine/qemuriscv64.conf
+++ b/meta-isar/conf/machine/qemuriscv64.conf
@@ -21,7 +21,7 @@ QEMU_ROOTFS_DEV ?= "vda"
 
 QEMU_ARCH ?= "riscv64"
 QEMU_MACHINE ?= "virt"
-QEMU_CPU ?= "rv64gcsu-v1.10.0"
+QEMU_CPU ?= "rv64"
 # TODO: start_vm doesn't support multiline vars
 QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
 
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 56ac1f52..1ba1de9f 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -204,6 +204,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 WicTest(CIBaseTest):
 
@@ -563,6 +578,26 @@ class VmBootTestFast(CIBaseTest):
             script='test_systemd_unit.sh getty.target 10',
         )
 
+    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.49.0

-- 
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/20250424070606.11003-3-ubely%40ilbers.de.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-24  7:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-24  7:02 [PATCH 0/2] Add riscv64 support for Ubuntu Noble Uladzimir Bely
2025-04-24  7:02 ` [PATCH 1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar Uladzimir Bely
2025-04-24  7:02 ` [PATCH 2/2] testsuite: Add cross-build and run tests for riscv64 targets Uladzimir Bely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox