[5/6] meta-isar: Add new distro ubuntu with suite "focal"

Message ID 22425854d3904c7b70c8aab541cabd733760bd1d.1607929886.git.jan.kiszka@siemens.com
State Accepted, archived
Headers show
Series Add support for Ubuntu | expand

Commit Message

Jan Kiszka Dec. 13, 2020, 9:11 p.m. UTC
From: Henning Schild <henning.schild@siemens.com>

Show that Isar can even build that popular distribution.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
[Jan: rebased, switched to 20.04/focal]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta-isar/conf/distro/ubuntu-focal-ports.list |  6 +++++
 meta-isar/conf/distro/ubuntu-focal.conf       | 24 +++++++++++++++++++
 meta-isar/conf/distro/ubuntu-focal.list       |  6 +++++
 meta-isar/conf/local.conf.sample              |  2 ++
 meta-isar/conf/machine/qemuamd64.conf         |  1 +
 meta-isar/conf/machine/qemuarm64.conf         |  1 +
 .../conf/multiconfig/qemuamd64-focal.conf     |  7 ++++++
 .../conf/multiconfig/qemuarm64-focal.conf     |  7 ++++++
 scripts/ci_build.sh                           |  6 +++--
 scripts/start_vm                              |  6 ++---
 scripts/vm_smoke_test                         |  1 +
 11 files changed, 62 insertions(+), 5 deletions(-)
 create mode 100644 meta-isar/conf/distro/ubuntu-focal-ports.list
 create mode 100644 meta-isar/conf/distro/ubuntu-focal.conf
 create mode 100644 meta-isar/conf/distro/ubuntu-focal.list
 create mode 100644 meta-isar/conf/multiconfig/qemuamd64-focal.conf
 create mode 100644 meta-isar/conf/multiconfig/qemuarm64-focal.conf

Patch

diff --git a/meta-isar/conf/distro/ubuntu-focal-ports.list b/meta-isar/conf/distro/ubuntu-focal-ports.list
new file mode 100644
index 00000000..7e2d50f0
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-focal-ports.list
@@ -0,0 +1,6 @@ 
+deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse
+deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse
+deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse
+deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse
+deb	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-security main restricted universe multiverse
+deb-src	[arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports focal-security main restricted universe multiverse
diff --git a/meta-isar/conf/distro/ubuntu-focal.conf b/meta-isar/conf/distro/ubuntu-focal.conf
new file mode 100644
index 00000000..0e4557e2
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-focal.conf
@@ -0,0 +1,24 @@ 
+#
+# Copyright (c) Siemens AG, 2018-2020
+#
+# SPDX-License-Identifier: MIT
+
+require conf/distro/debian-common.conf
+
+DISTRO_APT_SOURCES_arm64 ?= "conf/distro/${DISTRO}-ports.list"
+HOST_DISTRO_APT_SOURCES_append_arm64 = " ${DISTRO_APT_SOURCES}"
+
+BASE_DISTRO_CODENAME = "focal"
+
+# that is what debootstrap_1.0.118ubuntu1 does anyways
+DISTRO_DEBOOTSTRAP_SCRIPT = "/usr/share/debootstrap/scripts/gutsy"
+
+DISTRO_CONFIG_SCRIPT ?= "debian-configscript.sh"
+
+DISTRO_KERNELS ?= " \
+    aws azure azure-edge gcp generic gke kvm lowlatency oem virtual \
+    snapdragon generic-lpae"
+
+IMAGE_PREINSTALL += "init"
+
+WIC_IMAGER_INSTALL += "python3-distutils"
diff --git a/meta-isar/conf/distro/ubuntu-focal.list b/meta-isar/conf/distro/ubuntu-focal.list
new file mode 100644
index 00000000..52a0b3f7
--- /dev/null
+++ b/meta-isar/conf/distro/ubuntu-focal.list
@@ -0,0 +1,6 @@ 
+deb	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
+deb-src	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
+deb	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
+deb-src	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
+deb	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
+deb-src	[arch=amd64,i386] http://archive.ubuntu.com/ubuntu focal-security main restricted universe multiverse
diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 3e435724..107496c1 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -63,6 +63,8 @@  BBMULTICONFIG = " \
     stm32mp15x-buster \
     rpi-stretch \
     sifive-fu540-sid-ports \
+    qemuarm64-focal \
+    qemuamd64-focal \
 "
 
 #
diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index 29fc579e..238bc907 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -4,6 +4,7 @@ 
 DISTRO_ARCH ?= "amd64"
 
 KERNEL_NAME ?= "amd64"
+KERNEL_NAME_ubuntu-focal ?= "generic"
 
 IMAGE_TYPE ?= "wic-img"
 WKS_FILE ?= "sdimage-efi"
diff --git a/meta-isar/conf/machine/qemuarm64.conf b/meta-isar/conf/machine/qemuarm64.conf
index 246da5a5..e5e762ff 100644
--- a/meta-isar/conf/machine/qemuarm64.conf
+++ b/meta-isar/conf/machine/qemuarm64.conf
@@ -4,6 +4,7 @@ 
 DISTRO_ARCH ?= "arm64"
 
 KERNEL_NAME ?= "arm64"
+KERNEL_NAME_ubuntu-focal ?= "generic"
 
 IMAGE_TYPE ?= "ext4-img"
 
diff --git a/meta-isar/conf/multiconfig/qemuamd64-focal.conf b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
new file mode 100644
index 00000000..d3566ada
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
@@ -0,0 +1,7 @@ 
+#
+# Copyright (c) Siemens AG, 2018-2020
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuamd64"
+DISTRO ?= "ubuntu-focal"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-focal.conf b/meta-isar/conf/multiconfig/qemuarm64-focal.conf
new file mode 100644
index 00000000..1cbc8fb8
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuarm64-focal.conf
@@ -0,0 +1,7 @@ 
+#
+# Copyright (c) Siemens AG, 2018-2020
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "qemuarm64"
+DISTRO ?= "ubuntu-focal"
diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh
index f4c33a37..a8d9ad97 100755
--- a/scripts/ci_build.sh
+++ b/scripts/ci_build.sh
@@ -31,7 +31,8 @@  TARGETS_SET="\
             mc:qemumipsel-stretch:isar-image-base \
             mc:qemumipsel-buster:isar-image-base \
             mc:nand-ubi-demo-buster:isar-image-ubi \
-            mc:rpi-stretch:isar-image-base"
+            mc:rpi-stretch:isar-image-base \
+            mc:qemuamd64-focal:isar-image-base"
           # qemu-user-static of <= buster too old to build that
           # mc:qemuarm64-buster:isar-image-base
           # mc:qemuarm64-bullseye:isar-image-base
@@ -50,7 +51,8 @@  CROSS_TARGETS_SET="\
                   mc:qemuamd64-stretch:isar-image-base \
                   mc:de0-nano-soc-buster:isar-image-base \
                   mc:stm32mp15x-buster:isar-image-base \
-                  mc:rpi-stretch:isar-image-base"
+                  mc:rpi-stretch:isar-image-base \
+                  mc:qemuarm64-focal:isar-image-base"
 
 CROSS_TARGETS_SET_BULLSEYE="\
     mc:qemuarm-bullseye:isar-image-base \
diff --git a/scripts/start_vm b/scripts/start_vm
index eda49462..dfa14c95 100755
--- a/scripts/start_vm
+++ b/scripts/start_vm
@@ -109,10 +109,10 @@  readonly ISARROOT="$(dirname "$0")"/..
 readonly MACHINE_CONF=$ISARROOT/meta-isar/conf/machine/qemu$ARCH.conf
 eval "$(egrep 'MACHINE_SERIAL|QEMU_' $MACHINE_CONF |bb2sh)"
 
-eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "^IMAGE_TYPE=")
+eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "\(^IMAGE_TYPE=\|^IMAGE_FULLNAME=\)")
 case "$IMAGE_TYPE" in
     ext4-img)
-    readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.ext4.img
+    readonly ROOTFS_IMAGE=$IMAGE_FULLNAME.ext4.img
 
     eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "^KERNEL_IMAGE=")
     eval $(bitbake -e mc:qemu$ARCH-$DISTRO:isar-image-base | grep "^INITRD_IMAGE=")
@@ -129,7 +129,7 @@  case "$IMAGE_TYPE" in
     KARGS="console=$MACHINE_SERIAL root=/dev/$QEMU_ROOTFS_DEV rw $QEMU_KARGS"
     ;;
     wic-img)
-    readonly ROOTFS_IMAGE=isar-image-base-debian-$DISTRO-qemu$ARCH.wic.img
+    readonly ROOTFS_IMAGE=$IMAGE_FULLNAME.wic.img
     EXTRA_ARGS="$EXTRA_ARGS -snapshot"
     ;;
     *)
diff --git a/scripts/vm_smoke_test b/scripts/vm_smoke_test
index 237205e2..ce082137 100755
--- a/scripts/vm_smoke_test
+++ b/scripts/vm_smoke_test
@@ -152,6 +152,7 @@  run_test arm buster
 # AMD64 machine
 if [ -z "$FAST_BUILD" ]; then
     run_test amd64 buster
+    run_test amd64 focal
 fi
 run_test amd64 stretch