[v2,2/2] meta-isar: add support for Ubuntu 24.04 (noble)

Message ID 20240923125127.150443-3-cedric.hombourger@siemens.com
State Accepted, archived
Headers show
Series add support for Ubuntu 24.04 (noble | expand

Commit Message

cedric.hombourger@siemens.com Sept. 23, 2024, 12:51 p.m. UTC
Signed-off-by: Cedric Hombourger <cedric.hombourger@siemens.com>
---
 doc/user_manual.md                                   |  1 +
 meta-isar/conf/distro/ubuntu-common.inc              |  5 ++++-
 meta-isar/conf/distro/ubuntu-noble-ports.list        |  6 ++++++
 meta-isar/conf/distro/ubuntu-noble.conf              | 12 ++++++++++++
 meta-isar/conf/distro/ubuntu-noble.list              |  6 ++++++
 meta-isar/conf/machine/qemuarm64.conf                |  1 +
 meta-isar/conf/mc.conf                               |  2 ++
 meta-isar/conf/multiconfig/qemuamd64-noble.conf      |  7 +++++++
 meta-isar/conf/multiconfig/qemuarm64-noble.conf      |  7 +++++++
 .../lib/wic/plugins/source/bootimg-efi-isar.py       |  3 ++-
 10 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 meta-isar/conf/distro/ubuntu-noble-ports.list
 create mode 100644 meta-isar/conf/distro/ubuntu-noble.conf
 create mode 100644 meta-isar/conf/distro/ubuntu-noble.list
 create mode 100644 meta-isar/conf/multiconfig/qemuamd64-noble.conf
 create mode 100644 meta-isar/conf/multiconfig/qemuarm64-noble.conf

Patch

diff --git a/doc/user_manual.md b/doc/user_manual.md
index 706c74bf..847f4b07 100644
--- a/doc/user_manual.md
+++ b/doc/user_manual.md
@@ -455,6 +455,7 @@  following distros:
  - debian-trixie (host >= bookworm)
  - ubuntu-focal
  - ubuntu-jammy (requires host dpkg >= 1.21)
+ - ubuntu-noble (requires host dpkg >= 1.21)
  - raspios-bullseye
 
 User can select appropriate distro for specific machine by setting the following variable in machine configuration file:
diff --git a/meta-isar/conf/distro/ubuntu-common.inc b/meta-isar/conf/distro/ubuntu-common.inc
index 232bee35..884f7a7a 100644
--- a/meta-isar/conf/distro/ubuntu-common.inc
+++ b/meta-isar/conf/distro/ubuntu-common.inc
@@ -31,7 +31,10 @@  DISTRO_KERNELS ?= " \
 IMAGE_PREINSTALL += "init"
 IMAGE_PREINSTALL += "initramfs-tools"
 
-IMAGER_INSTALL:wic += "python3-distutils"
+UBUNTU_WIC_DEPS = ""
+UBUNTU_WIC_DEPS:focal = "python3-distutils"
+UBUNTU_WIC_DEPS:jammy = "python3-distutils"
+IMAGER_INSTALL:wic += "${UBUNTU_WIC_DEPS}"
 
 SYSTEMD_BOOTLOADER_INSTALL:focal = "systemd:${DISTRO_ARCH}"
 SYSTEMD_BOOTLOADER_INSTALL:jammy = "systemd:${DISTRO_ARCH}"
diff --git a/meta-isar/conf/distro/ubuntu-noble-ports.list b/meta-isar/conf/distro/ubuntu-noble-ports.list
new file mode 100644
index 00000000..adeb2639
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-noble-ports.list
@@ -0,0 +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
diff --git a/meta-isar/conf/distro/ubuntu-noble.conf b/meta-isar/conf/distro/ubuntu-noble.conf
new file mode 100644
index 00000000..531f085f
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-noble.conf
@@ -0,0 +1,12 @@ 
+#
+# Copyright (c) Siemens AG, 2024
+#
+# SPDX-License-Identifier: MIT
+
+require conf/distro/ubuntu-common.inc
+
+BASE_DISTRO_CODENAME = "noble"
+
+DISTRO_GCC = "13"
+
+DEBIAN_COMPAT = "13"
diff --git a/meta-isar/conf/distro/ubuntu-noble.list b/meta-isar/conf/distro/ubuntu-noble.list
new file mode 100644
index 00000000..91393a21
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-noble.list
@@ -0,0 +1,6 @@ 
+deb	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
+deb-src	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
+deb	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
+deb-src	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
+deb	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
+deb-src	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
diff --git a/meta-isar/conf/machine/qemuarm64.conf b/meta-isar/conf/machine/qemuarm64.conf
index 9706bbe0..d3403303 100644
--- a/meta-isar/conf/machine/qemuarm64.conf
+++ b/meta-isar/conf/machine/qemuarm64.conf
@@ -6,6 +6,7 @@  DISTRO_ARCH ?= "arm64"
 KERNEL_NAME ?= "arm64"
 KERNEL_NAME:ubuntu-focal ?= "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 d8c3a3a7..212d3e4d 100644
--- a/meta-isar/conf/mc.conf
+++ b/meta-isar/conf/mc.conf
@@ -61,6 +61,8 @@  BBMULTICONFIG = " \
     starfive-visionfive2-sid \
     qemuarm64-focal \
     qemuarm64-jammy \
+    qemuarm64-noble \
     qemuamd64-focal \
     qemuamd64-jammy \
+    qemuamd64-noble \
 "
diff --git a/meta-isar/conf/multiconfig/qemuamd64-noble.conf b/meta-isar/conf/multiconfig/qemuamd64-noble.conf
new file mode 100644
index 00000000..e052eff1
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuamd64-noble.conf
@@ -0,0 +1,7 @@ 
+#
+# Copyright (c) Siemens AG, 2024
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuamd64"
+DISTRO ?= "ubuntu-noble"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-noble.conf b/meta-isar/conf/multiconfig/qemuarm64-noble.conf
new file mode 100644
index 00000000..b87df1b6
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuarm64-noble.conf
@@ -0,0 +1,7 @@ 
+#
+# Copyright (c) Siemens AG, 2024
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuarm64"
+DISTRO ?= "ubuntu-noble"
diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
index 4bfb70a0..079b70d6 100644
--- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
+++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
@@ -414,7 +414,8 @@  class BootimgEFIPlugin(SourcePlugin):
                     grub_target = 'x86_64-efi'
                     grub_image = "bootx64.efi"
                     grub_modules = "multiboot efi_uga iorw ata "
-                    if get_bitbake_var("DISTRO").startswith("ubuntu"):
+                    if get_bitbake_var("DISTRO").startswith("ubuntu") and \
+                        os.path.exists('/usr/lib/grub/x86_64-efi/linuxefi.mod'):
                         grub_modules += "linuxefi "
                 elif distro_arch == "i386":
                     grub_target = 'i386-efi'