[1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar

Message ID 20250424070606.11003-2-ubely@ilbers.de
State New
Headers show
Series [1/2] meta-isar: Add ubuntu-ports riscv64 support in Isar | expand

Commit Message

Uladzimir Bely April 24, 2025, 7:02 a.m. UTC
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

Patch

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"