[PATCH v3 05/10] CI: Move qemuamd64-buster hacks to CI layer

4 views
Skip to first unread message

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:04 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuamd64-buster.conf | 4 ----
meta-test/recipes-ci/images/isar-image-ci.bb | 5 +++++
testsuite/citest.py | 8 +++++---
3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster.conf b/meta-isar/conf/multiconfig/qemuamd64-buster.conf
index 79d0aa63..3fabd675 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-buster.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-buster.conf
@@ -2,7 +2,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "debian-buster"
-WKS_FILE ?= "efi-plus-pcbios.wks"
-IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
-
-IMAGE_FSTYPES ?= "wic ext4"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index ad7560af..f69e1864 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -23,6 +23,11 @@ IMAGER_INSTALL:remove:qemuamd64:debian-bullseye ?= "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL:append:qemuamd64:debian-bullseye ?= " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
IMAGE_PREINSTALL:append:qemuamd64:debian-bullseye ?= " btrfs-progs"

+# qemuamd64-buster
+IMAGE_FSTYPES:qemuamd64:debian-buster ?= "wic ext4"
+WKS_FILE:qemuamd64:debian-buster ?= "efi-plus-pcbios"
+IMAGER_INSTALL:append:qemuamd64:debian-buster ?= " ${SYSLINUX_BOOTLOADER_INSTALL}"
+
# qemuamd64-focal
WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 4e6bf333..7751d54a 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -204,7 +204,7 @@ class NoCrossTest(CIBaseTest):
'mc:qemuarm64-bullseye:isar-image-ci',
'mc:qemui386-buster:isar-image-base',
'mc:qemui386-bullseye:isar-image-base',
- 'mc:qemuamd64-buster:isar-image-base',
+ 'mc:qemuamd64-buster:isar-image-ci',
'mc:qemuamd64-bullseye:isar-initramfs',
'mc:qemumipsel-buster:isar-image-base',
'mc:qemumipsel-bullseye:isar-image-base',
@@ -432,9 +432,11 @@ class VmBootTestFull(CIBaseTest):
def test_amd64_buster(self):
self.init()
# test efi boot
- self.vm_start('amd64','buster')
+ self.vm_start('amd64','buster', \
+ image='isar-image-ci')
# test pcbios boot
- self.vm_start('amd64', 'buster', True)
+ self.vm_start('amd64', 'buster', True, \
+ image='isar-image-ci')

def test_amd64_focal(self):
self.init()
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:04 AM6/12/23
to isar-...@googlegroups.com
There are a lot of hacks in Isar are used by testsuite only. Some of
them even cause variable setting issues for users. To prevent this kind
of issues introduce separate meta-test layer to be used by testsuite
only.
This patchset also removes variables setting from multiconfigs to allow
building without multiconfigs.
The current patchset version is not fully tested and lack some
documentation, but it should be a good starting point.

Changes since v2:
- Fix warnings from bitbake during parsing multiconfigs by making files
from `meta-isar/recipes-core/images` visible for isar-image-ci.

Changes since v1:
- Rebased on latest `next`
- Added RECIPE-API-CHANGELOG.md entry

The patchset is additionally tested with `meta-iot2050` downstream.

Anton Mikanovich (10):
CI: Introduce meta-test layer
ubuntu: Fix WKS_FILE overriding
CI: Move qemuamd64-bookworm hacks to CI layer
CI: Move qemuamd64-bullseye hacks to CI layer
CI: Move qemuamd64-buster hacks to CI layer
CI: Move qemuarm-bookworm hacks to CI layer
CI: Move qemuarm64-bookworm hacks to CI layer
meta-isar: Remove qemuamd64-sb settings from multiconfig
meta-isar: Remove imx6-sabrelite settings from multiconfig
meta-isar: Unify multiconfigs to use weak assignments

RECIPE-API-CHANGELOG.md | 5 +
meta-isar/conf/distro/ubuntu-common.inc | 2 +
meta-isar/conf/machine/imx6-sabrelite.conf | 6 +
meta-isar/conf/machine/qemuamd64-sb.conf | 9 +
meta-isar/conf/machine/qemuamd64.conf | 12 -
.../conf/multiconfig/bananapi-bullseye.conf | 4 +-
.../conf/multiconfig/bananapi-buster.conf | 4 +-
.../multiconfig/de0-nano-soc-bullseye.conf | 4 +-
.../conf/multiconfig/de0-nano-soc-buster.conf | 4 +-
.../conf/multiconfig/hikey-bookworm.conf | 4 +-
.../conf/multiconfig/hikey-bullseye.conf | 4 +-
.../multiconfig/imx6-sabrelite-bullseye.conf | 6 -
.../multiconfig/imx6-sabrelite-buster.conf | 6 -
.../conf/multiconfig/nanopi-neo-bullseye.conf | 4 +-
.../conf/multiconfig/nanopi-neo-buster.conf | 4 +-
.../conf/multiconfig/qemuamd64-bookworm.conf | 1 -
.../conf/multiconfig/qemuamd64-bullseye.conf | 2 -
.../conf/multiconfig/qemuamd64-buster.conf | 4 -
.../conf/multiconfig/qemuamd64-focal.conf | 2 -
.../conf/multiconfig/qemuamd64-jammy.conf | 2 -
.../multiconfig/qemuamd64-sb-bullseye.conf | 10 +-
.../conf/multiconfig/qemuarm-bookworm.conf | 6 -
.../conf/multiconfig/qemuarm64-bookworm.conf | 3 -
.../multiconfig/sifive-fu540-sid-ports.conf | 4 +-
.../starfive-visionfive2-sid-ports.conf | 4 +-
.../conf/multiconfig/stm32mp15x-bullseye.conf | 4 +-
.../conf/multiconfig/stm32mp15x-buster.conf | 4 +-
.../conf/multiconfig/virtualbox-bullseye.conf | 5 +-
meta-isar/recipes-ci/images/isar-image-ci.bb | 9 -
meta-test/conf/bblayers.conf.sample | 15 +
meta-test/conf/conf-notes.txt | 3 +
meta-test/conf/layer.conf | 20 ++
meta-test/conf/local.conf.sample | 264 ++++++++++++++++++
meta-test/recipes-ci/images/isar-image-ci.bb | 49 ++++
.../isar-ci-ssh-setup/files/postinst | 0
.../isar-ci-ssh-setup_0.1.bb | 0
testsuite/cibuilder.py | 1 +
testsuite/citest.py | 32 ++-
38 files changed, 419 insertions(+), 103 deletions(-)
delete mode 100644 meta-isar/recipes-ci/images/isar-image-ci.bb
create mode 100644 meta-test/conf/bblayers.conf.sample
create mode 100644 meta-test/conf/conf-notes.txt
create mode 100644 meta-test/conf/layer.conf
create mode 100644 meta-test/conf/local.conf.sample
create mode 100644 meta-test/recipes-ci/images/isar-image-ci.bb
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/files/postinst (100%)
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb (100%)

--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:04 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting custom WKS_FILE inside local.conf move overridden
value from machine config to meta-test. Also move distro-related
changing of KERNEL_NAME distro config.

Reported-by: Felix Moessbauer <felix.mo...@siemens.com>
Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
meta-isar/conf/distro/ubuntu-common.inc | 2 ++
meta-isar/conf/machine/qemuamd64.conf | 7 -------
meta-isar/conf/multiconfig/qemuamd64-focal.conf | 2 --
meta-isar/conf/multiconfig/qemuamd64-jammy.conf | 2 --
meta-test/recipes-ci/images/isar-image-ci.bb | 10 ++++++++++
5 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/meta-isar/conf/distro/ubuntu-common.inc b/meta-isar/conf/distro/ubuntu-common.inc
index becb7e0a..6a990a89 100644
--- a/meta-isar/conf/distro/ubuntu-common.inc
+++ b/meta-isar/conf/distro/ubuntu-common.inc
@@ -16,6 +16,8 @@ BOOTSTRAP_KEY = "file://${LAYERDIR_isar}/conf/distro/ubuntu.public.key;sha256sum
DISTRO_BOOTSTRAP_KEYS += "${BOOTSTRAP_KEY}"
HOST_DISTRO_BOOTSTRAP_KEYS += "${BOOTSTRAP_KEY}"

+# kernel package name is linux-image-generic in Ubuntu
+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/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index 11842ec4..c02b3860 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -4,18 +4,11 @@
DISTRO_ARCH ?= "amd64"

KERNEL_NAME ?= "amd64"
-KERNEL_NAME:ubuntu-focal ?= "generic"
-KERNEL_NAME:ubuntu-jammy ?= "generic"

IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi"
IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"

-WKS_FILE:ubuntu-focal ?= "sdimage-efi-sd"
-WKS_FILE:ubuntu-jammy ?= "sdimage-efi-sd"
-IMAGER_INSTALL:remove:ubuntu-focal = "${GRUB_BOOTLOADER_INSTALL}"
-IMAGER_INSTALL:remove:ubuntu-jammy = "${GRUB_BOOTLOADER_INSTALL}"
-
WKS_FILE:debian-bullseye ?= "sdimage-efi-btrfs"
IMAGER_INSTALL:remove:debian-bullseye = "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL:append:debian-bullseye = " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-focal.conf b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
index 3de0b809..09076eba 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-focal.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
@@ -5,5 +5,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "ubuntu-focal"
-
-IMAGER_INSTALL += "${SYSTEMD_BOOTLOADER_INSTALL}"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-jammy.conf b/meta-isar/conf/multiconfig/qemuamd64-jammy.conf
index 7dd395c2..ec893604 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-jammy.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-jammy.conf
@@ -5,5 +5,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "ubuntu-jammy"
-
-IMAGER_INSTALL += "${SYSTEMD_BOOTLOADER_INSTALL}"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 93c7065b..567c6cda 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -12,3 +12,13 @@ ISAR_RELEASE_CMD = "git -C ${LAYERDIR_test} describe --tags --dirty --match 'v[0

# Setup SSH server on board
IMAGE_INSTALL += "isar-ci-ssh-setup"
+
+# qemuamd64-focal
+WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
+IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
+IMAGER_INSTALL:append:qemuamd64:ubuntu-focal ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
+
+# qemuamd64-jammy
+WKS_FILE:qemuamd64:ubuntu-jammy ?= "sdimage-efi-sd"
+IMAGER_INSTALL:remove:qemuamd64:ubuntu-jammy ?= "${GRUB_BOOTLOADER_INSTALL}"
+IMAGER_INSTALL:append:qemuamd64:ubuntu-jammy ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:04 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/machine/qemuamd64.conf | 5 -----
meta-isar/conf/multiconfig/qemuamd64-bullseye.conf | 2 --
meta-test/recipes-ci/images/isar-image-ci.bb | 7 +++++++
testsuite/citest.py | 9 +++++----
4 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index c02b3860..cdee9bdd 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -9,11 +9,6 @@ IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi"
IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"

-WKS_FILE:debian-bullseye ?= "sdimage-efi-btrfs"
-IMAGER_INSTALL:remove:debian-bullseye = "${GRUB_BOOTLOADER_INSTALL}"
-IMAGER_INSTALL:append:debian-bullseye = " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
-IMAGE_PREINSTALL:append:debian-bullseye = " btrfs-progs"
-
IMAGE_INSTALL += "sshd-regen-keys"
IMAGE_INSTALL += "expand-on-first-boot"

diff --git a/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf b/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
index 1c1326cd..1badc889 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
@@ -2,5 +2,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "debian-bullseye"
-
-IMAGE_FSTYPES:append = " cpio.gz tar.gz"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 4ef1333b..ad7560af 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -16,6 +16,13 @@ IMAGE_INSTALL += "isar-ci-ssh-setup"
# qemuamd64-bookworm
WKS_FILE:qemuamd64:debian-bookworm ?= "multipart-efi.wks"

+# qemuamd64-bullseye
+IMAGE_FSTYPES:append:qemuamd64:debian-bullseye ?= " cpio.gz tar.gz"
+WKS_FILE:qemuamd64:debian-bullseye ?= "sdimage-efi-btrfs"
+IMAGER_INSTALL:remove:qemuamd64:debian-bullseye ?= "${GRUB_BOOTLOADER_INSTALL}"
+IMAGER_INSTALL:append:qemuamd64:debian-bullseye ?= " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
+IMAGE_PREINSTALL:append:qemuamd64:debian-bullseye ?= " btrfs-progs"
+
# qemuamd64-focal
WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index e4b36519..4e6bf333 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -26,7 +26,7 @@ class DevTest(CIBaseTest):
"""
def test_dev(self):
targets = [
- 'mc:qemuamd64-bullseye:isar-image-base',
+ 'mc:qemuamd64-bullseye:isar-image-ci',
'mc:qemuarm-bullseye:isar-image-base',
'mc:qemuarm-bullseye:isar-image-base:do_populate_sdk',
'mc:qemuarm64-bullseye:isar-image-base'
@@ -37,7 +37,7 @@ class DevTest(CIBaseTest):

def test_dev_apps(self):
targets = [
- 'mc:qemuamd64-bullseye:isar-image-base',
+ 'mc:qemuamd64-bullseye:isar-image-ci',
'mc:qemuarm64-bullseye:isar-image-base'
]

@@ -55,13 +55,14 @@ class DevTest(CIBaseTest):
file.write('do_fetch:append() {\n\n}')

try:
- self.perform_build_test('mc:qemuamd64-bullseye:isar-image-base')
+ self.perform_build_test('mc:qemuamd64-bullseye:isar-image-ci')
finally:
self.restorefile(dpkgbase_file)

def test_dev_run_amd64_bullseye(self):
self.init()
- self.vm_start('amd64', 'bullseye')
+ self.vm_start('amd64', 'bullseye', \
+ image='isar-image-ci')

def test_dev_run_arm64_bullseye(self):
self.init()
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:04 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuamd64-bookworm.conf | 1 -
meta-test/recipes-ci/images/isar-image-ci.bb | 3 +++
testsuite/citest.py | 4 ++--
3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf b/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf
index 591918de..a5ad814f 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf
@@ -2,4 +2,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "debian-bookworm"
-WKS_FILE ?= "multipart-efi.wks"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 567c6cda..4ef1333b 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -13,6 +13,9 @@ ISAR_RELEASE_CMD = "git -C ${LAYERDIR_test} describe --tags --dirty --match 'v[0
# Setup SSH server on board
IMAGE_INSTALL += "isar-ci-ssh-setup"

+# qemuamd64-bookworm
+WKS_FILE:qemuamd64:debian-bookworm ?= "multipart-efi.wks"
+
# qemuamd64-focal
WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 17a90244..e4b36519 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -238,7 +238,7 @@ class NoCrossTest(CIBaseTest):

def test_nocross_bookworm(self):
targets = [
- 'mc:qemuamd64-bookworm:isar-image-base',
+ 'mc:qemuamd64-bookworm:isar-image-ci',
'mc:qemuarm-bookworm:isar-image-base',
'mc:qemui386-bookworm:isar-image-base',
'mc:qemumipsel-bookworm:isar-image-ci',
@@ -452,7 +452,7 @@ class VmBootTestFull(CIBaseTest):

def test_amd64_bookworm(self):
self.init()
- self.vm_start('amd64','bookworm')
+ self.vm_start('amd64', 'bookworm', image='isar-image-ci')

def test_arm_bookworm(self):
self.init()
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:04 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

This layer will be used for internal testing only and handle all the
customizations needed for testsuite.
Move isar-image-ci recipe to this layer.
Copy local.conf.sample from meta-isar to be able to remove
test-specific settings from meta-isar later.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
RECIPE-API-CHANGELOG.md | 5 +
meta-test/conf/bblayers.conf.sample | 15 +
meta-test/conf/conf-notes.txt | 3 +
meta-test/conf/layer.conf | 20 ++
meta-test/conf/local.conf.sample | 264 ++++++++++++++++++
.../recipes-ci/images/isar-image-ci.bb | 5 +
.../isar-ci-ssh-setup/files/postinst | 0
.../isar-ci-ssh-setup_0.1.bb | 0
testsuite/cibuilder.py | 1 +
9 files changed, 313 insertions(+)
create mode 100644 meta-test/conf/bblayers.conf.sample
create mode 100644 meta-test/conf/conf-notes.txt
create mode 100644 meta-test/conf/layer.conf
create mode 100644 meta-test/conf/local.conf.sample
rename {meta-isar => meta-test}/recipes-ci/images/isar-image-ci.bb (52%)
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/files/postinst (100%)
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb (100%)

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index 7a16b5c2..bc892f53 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -492,3 +492,8 @@ Recipes inheriting dpkg-base now automatically have a bitbake target
exists for the current `DISTRO_ARCH`.
In that case the compat package can be built by adding `<foo>-compat`
to `DEPENDS` or `IMAGE_INSTALL`.
+
+### Introduce meta-test layer
+
+Some CI-related recipes and images moves to meta-test from meta-isar, so if
+a downstream used them, they should update their layers.conf accordingly.
diff --git a/meta-test/conf/bblayers.conf.sample b/meta-test/conf/bblayers.conf.sample
new file mode 100644
index 00000000..f01dcedf
--- /dev/null
+++ b/meta-test/conf/bblayers.conf.sample
@@ -0,0 +1,15 @@
+# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+LCONF_VERSION = "6"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ##ISARROOT##/meta \
+ ##ISARROOT##/meta-isar \
+ ##ISARROOT##/meta-test \
+ "
+BBLAYERS_NON_REMOVABLE ?= " \
+ ##ISARROOT##/meta \
+ "
diff --git a/meta-test/conf/conf-notes.txt b/meta-test/conf/conf-notes.txt
new file mode 100644
index 00000000..7da291af
--- /dev/null
+++ b/meta-test/conf/conf-notes.txt
@@ -0,0 +1,3 @@
+Common CI targets are:
+ mc:qemuamd64-bookworm:isar-image-ci
+ mc:qemuarm-bullseye:isar-image-ci
diff --git a/meta-test/conf/layer.conf b/meta-test/conf/layer.conf
new file mode 100644
index 00000000..07b5c77d
--- /dev/null
+++ b/meta-test/conf/layer.conf
@@ -0,0 +1,20 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
+
+BBFILE_COLLECTIONS += "test"
+BBFILE_PATTERN_test = "^${LAYERDIR}/"
+BBFILE_PRIORITY_test = "10"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_test = "1"
+LAYERSERIES_COMPAT_test = "v0.6"
+
+LAYERDIR_test = "${LAYERDIR}"
+LAYERDIR_test[vardepvalue] = "meta-test"
diff --git a/meta-test/conf/local.conf.sample b/meta-test/conf/local.conf.sample
new file mode 100644
index 00000000..c5d50931
--- /dev/null
+++ b/meta-test/conf/local.conf.sample
@@ -0,0 +1,264 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+# This sets the default machine to be qemuarm if no other machine is selected:
+MACHINE ??= "qemuarm"
+
+#
+# Isar Configuration Selection
+#
+# You need to select a specific distribution configuration which will used for both:
+# generation of buildchroot environment and target root filesystem.
+#
+# This sets the default distribution configuration:
+DISTRO ??= "debian-bullseye"
+DISTRO_ARCH ??= "armhf"
+
+#
+# Multiple Configuration Selection
+#
+# If you want to use multiple configuration files for the build, list them in the
+# following option.
+#
+# This sets the default multiple configurations used:
+BBMULTICONFIG = " \
+ qemuarm-buster \
+ qemuarm-bullseye \
+ qemuarm-bookworm \
+ qemuarm64-buster \
+ qemuarm64-bullseye \
+ qemuarm64-bookworm \
+ qemui386-buster \
+ qemui386-bullseye \
+ qemui386-bookworm \
+ qemuamd64-buster \
+ qemuamd64-bullseye \
+ qemuamd64-sb-bullseye \
+ qemuamd64-bookworm \
+ container-amd64-buster \
+ container-amd64-bullseye \
+ container-amd64-bookworm \
+ qemumipsel-buster \
+ qemumipsel-bullseye \
+ qemumipsel-bookworm \
+ qemuriscv64-sid-ports \
+ bananapi-buster \
+ bananapi-bullseye \
+ de0-nano-soc-buster \
+ de0-nano-soc-bullseye \
+ hikey-bullseye \
+ hikey-bookworm \
+ imx6-sabrelite-buster \
+ imx6-sabrelite-bullseye \
+ phyboard-mira-bullseye \
+ nanopi-neo-buster \
+ nanopi-neo-bullseye \
+ stm32mp15x-buster \
+ stm32mp15x-bullseye \
+ virtualbox-bullseye \
+ rpi-arm-bullseye \
+ rpi-arm-v7-bullseye \
+ rpi-arm-v7l-bullseye \
+ rpi-arm64-v8-bullseye \
+ sifive-fu540-sid-ports \
+ starfive-visionfive2-sid-ports \
+ qemuarm64-focal \
+ qemuarm64-jammy \
+ qemuamd64-focal \
+ qemuamd64-jammy \
+"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ HALT,${TMPDIR},100M,1K \
+ HALT,${DL_DIR},100M,1K \
+ HALT,${SSTATE_DIR},100M,1K \
+ HALT,/tmp,10M,1K"
+
+# Isar MIRRORS in case of service unavailable
+MIRRORS ?= "git?://salsa\.debian\.org/debian/.* git://github.com/ilbers/BASENAME"
+
+# External MIRRORS in case of service unavailable
+MIRRORS += "https?://cdn\.kernel\.org/.* https://mirrors.edge.kernel.org/PATH"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+#
+# The default list of extra packages to be installed.
+IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile hello isar-disable-apt-cache cowsay example-prebuilt"
+
+#
+# Enable cross-compilation support
+ISAR_CROSS_COMPILE ?= "0"
+
+#
+# Uncomment to enable 32-bit compat architecture support
+# NOTE: this works for amd64 and arm64 targets so far
+#ISAR_ENABLE_COMPAT_ARCH ?= "1"
+
+# Uncomment this to enable caching of all source packages.
+# Without this feature, only sources of packages downloaded with apt:// are downloaded.
+#BASE_REPO_FEATURES ?= "cache-deb-src"
+
+#
+# Uncomment this to enable use of cached base repository
+#ISAR_USE_CACHED_BASE_REPO ?= "1"
+#
+# You probably want to uncomment this as well to make sure the build
+# does not access the network
+#BB_NO_NETWORK ?= "1"
+
+# Set root password to 'root'
+# Password was encrypted using following command:
+# mkpasswd -m sha512crypt -R 10000
+# mkpasswd is part of the 'whois' package of Debian
+USERS += "root"
+USER_root[password] ??= "$6$rounds=10000$RXeWrnFmkY$DtuS/OmsAS2cCEDo0BF5qQsizIrq6jPgXnwv3PHqREJeKd1sXdHX/ayQtuQWVDHe0KIO0/sVH8dvQm1KthF0d/"
+
+GROUPS += "isar"
+GROUP_isar[flags] = "system"
+
+USERS += "isar"
+USER_isar[gid] = "isar"
+USER_isar[home] = "/var/lib/isar"
+USER_isar[comment] = "My isar user"
+USER_isar[flags] = "system create-home"
+
+USER_isar[password] = "isar"
+USER_isar[flags] += "clear-text-password"
+
+# Use buildstats by default
+#USE_BUILDSTATS = "1"
+
+# Uncomment the below line to debug WIC.
+# WIC_CREATE_EXTRA_ARGS += "-D"
+
+# Uncomment this to also deploy each wic partition as separate file (e.g. for swupdate)
+#WIC_DEPLOY_PARTITIONS = "1"
+
+# Uncomment this to use ccache for custom packages
+#USE_CCACHE = "1"
+# Uncomment and set own top level ccache directory to share between builds
+#CCACHE_TOP_DIR ?= "${TMPDIR}/ccache"
+# Enable ccache debug mode
+#CCACHE_DEBUG = "1"
+
+# Uncommnet and add value to it to build images reproducibly
+#
+# The value for `SOURCE_DATE_EPOCH` should be latest source change time in
+# seconds since the Epoch.
+# Git repository users can use value from 'git log -1 --pretty=%ct'
+# Non git repository users can use value from 'stat -c%Y ChangeLog'
+# To know more details about this variable and how to set the value refer below
+# https://reproducible-builds.org/docs/source-date-epoch/
+#SOURCE_DATE_EPOCH =
diff --git a/meta-isar/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
similarity index 52%
rename from meta-isar/recipes-ci/images/isar-image-ci.bb
rename to meta-test/recipes-ci/images/isar-image-ci.bb
index 77b1ef6e..93c7065b 100644
--- a/meta-isar/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -5,5 +5,10 @@

require recipes-core/images/isar-image-base.bb

+FILESEXTRAPATHS:append = ":${LAYERDIR_isar}/recipes-core/images:"
+
+# Avoid ISAR_RELEASE_CMD warning in image.bbclass
+ISAR_RELEASE_CMD = "git -C ${LAYERDIR_test} describe --tags --dirty --match 'v[0-9].[0-9]*'"
+
# Setup SSH server on board
IMAGE_INSTALL += "isar-ci-ssh-setup"
diff --git a/meta-isar/recipes-ci/isar-ci-ssh-setup/files/postinst b/meta-test/recipes-ci/isar-ci-ssh-setup/files/postinst
similarity index 100%
rename from meta-isar/recipes-ci/isar-ci-ssh-setup/files/postinst
rename to meta-test/recipes-ci/isar-ci-ssh-setup/files/postinst
diff --git a/meta-isar/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb b/meta-test/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb
similarity index 100%
rename from meta-isar/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb
rename to meta-test/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb
diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
index a0c5711f..a03ff050 100755
--- a/testsuite/cibuilder.py
+++ b/testsuite/cibuilder.py
@@ -44,6 +44,7 @@ class CIBuilder(Test):
self.error("Broken test implementation: init() called multiple times.")
self.build_dir = os.path.join(isar_root, build_dir)
os.chdir(isar_root)
+ os.environ["TEMPLATECONF"] = "meta-test/conf"
path.usable_rw_dir(self.build_dir)
output = process.getoutput('/bin/bash -c "source isar-init-build-env \
%s 2>&1 >/dev/null; env"' % self.build_dir)
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:05 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuarm64-bookworm.conf | 3 ---
meta-test/recipes-ci/images/isar-image-ci.bb | 4 ++++
testsuite/citest.py | 6 +++---
3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf b/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf
index 714e4d73..c6b92d2e 100644
--- a/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf
+++ b/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf
@@ -4,6 +4,3 @@

MACHINE ?= "qemuarm64"
DISTRO ?= "debian-bookworm"
-
-IMAGE_FSTYPES:append = " wic.xz"
-IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index b101c2c2..92bb2ba9 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -43,3 +43,7 @@ IMAGE_FSTYPES:append:qemuarm:debian-bookworm ?= " wic"
WKS_FILE:qemuarm:debian-bookworm ?= "sdimage-efi-sd"
IMAGE_INSTALL:append:qemuarm:debian-bookworm ?= " expand-on-first-boot"
IMAGER_INSTALL:append:qemuarm:debian-bookworm ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
+
+# qemuarm64-bookworm
+IMAGE_FSTYPES:append:qemuarm64:debian-bookworm ?= " wic.xz"
+IMAGER_INSTALL:append:qemuarm64:debian-bookworm ?= " ${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 779d86e2..d49c5c8e 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -158,7 +158,7 @@ class CrossTest(CIBaseTest):
def test_cross_bookworm(self):
targets = [
'mc:qemuarm-bookworm:isar-image-ci',
- 'mc:qemuarm64-bookworm:isar-image-base'
+ 'mc:qemuarm64-bookworm:isar-image-ci'
]

self.init()
@@ -175,7 +175,7 @@ class WicTest(CIBaseTest):
:avocado: tags=wic,full
"""
def test_wic_nodeploy_partitions(self):
- targets = ['mc:qemuarm64-bookworm:isar-image-base']
+ targets = ['mc:qemuarm64-bookworm:isar-image-ci']

self.init()
self.delete_from_build_dir('tmp')
@@ -183,7 +183,7 @@ class WicTest(CIBaseTest):
wic_deploy_parts=False, debsrc_cache=True, compat_arch=False)

def test_wic_deploy_partitions(self):
- targets = ['mc:qemuarm64-bookworm:isar-image-base']
+ targets = ['mc:qemuarm64-bookworm:isar-image-ci']

self.init()
# reuse artifacts
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:05 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuarm-bookworm.conf | 6 ------
meta-test/recipes-ci/images/isar-image-ci.bb | 6 ++++++
testsuite/citest.py | 5 +++--
3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuarm-bookworm.conf b/meta-isar/conf/multiconfig/qemuarm-bookworm.conf
index ce533ee7..08192365 100644
--- a/meta-isar/conf/multiconfig/qemuarm-bookworm.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-bookworm.conf
@@ -2,9 +2,3 @@

MACHINE ?= "qemuarm"
DISTRO ?= "debian-bookworm"
-
-IMAGE_FSTYPES:append = " wic"
-WKS_FILE ?= "sdimage-efi-sd"
-
-IMAGER_INSTALL += "${SYSTEMD_BOOTLOADER_INSTALL}"
-IMAGE_INSTALL += "expand-on-first-boot"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index f69e1864..b101c2c2 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -37,3 +37,9 @@ IMAGER_INSTALL:append:qemuamd64:ubuntu-focal ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
WKS_FILE:qemuamd64:ubuntu-jammy ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-jammy ?= "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL:append:qemuamd64:ubuntu-jammy ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
+
+# qemuarm-bookworm
+IMAGE_FSTYPES:append:qemuarm:debian-bookworm ?= " wic"
+WKS_FILE:qemuarm:debian-bookworm ?= "sdimage-efi-sd"
+IMAGE_INSTALL:append:qemuarm:debian-bookworm ?= " expand-on-first-boot"
+IMAGER_INSTALL:append:qemuarm:debian-bookworm ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 7751d54a..779d86e2 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -240,7 +240,7 @@ class NoCrossTest(CIBaseTest):
def test_nocross_bookworm(self):
targets = [
'mc:qemuamd64-bookworm:isar-image-ci',
- 'mc:qemuarm-bookworm:isar-image-base',
+ 'mc:qemuarm-bookworm:isar-image-ci',
'mc:qemui386-bookworm:isar-image-base',
'mc:qemumipsel-bookworm:isar-image-ci',
'mc:hikey-bookworm:isar-image-base'
@@ -459,7 +459,8 @@ class VmBootTestFull(CIBaseTest):

def test_arm_bookworm(self):
self.init()
- self.vm_start('arm','bookworm')
+ self.vm_start('arm','bookworm', \
+ image='isar-image-ci')

def test_i386_bookworm(self):
self.init()
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:05 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

Machine-related configuration should be done in machine config, so move
it from multiconfig.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/machine/imx6-sabrelite.conf | 6 ++++++
meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf | 6 ------
meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf | 6 ------
3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/meta-isar/conf/machine/imx6-sabrelite.conf b/meta-isar/conf/machine/imx6-sabrelite.conf
index d8cb93ad..b2252479 100644
--- a/meta-isar/conf/machine/imx6-sabrelite.conf
+++ b/meta-isar/conf/machine/imx6-sabrelite.conf
@@ -3,6 +3,10 @@
#
# SPDX-License-Identifier: MIT

+DISTRO_ARCH ?= "armhf"
+
+KERNEL_NAME ?= "armmp"
+
MACHINE_SERIAL ?= "ttymxc0"
BAUDRATE_TTY ?= "115200"

@@ -12,3 +16,5 @@ UBINIZE_ARGS = "-vv -m 0x1000 -p 0x40000"
IMAGE_FSTYPES ?= "ubi-ubifs"

DTB_FILES = "imx6q-sabrelite.dtb"
+
+IMAGE_INSTALL += "sshd-regen-keys"
diff --git a/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf b/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
index 92615f22..9df2cd10 100644
--- a/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
+++ b/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
@@ -2,10 +2,4 @@
# Copyright (C) 2022 ilbers GmbH

MACHINE ?= "imx6-sabrelite"
-
DISTRO ?= "debian-bullseye"
-DISTRO_ARCH ?= "armhf"
-
-KERNEL_NAME ?= "armmp"
-
-IMAGE_INSTALL += "sshd-regen-keys"
diff --git a/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf b/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
index c19f193c..262a6615 100644
--- a/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
+++ b/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
@@ -4,10 +4,4 @@
# SPDX-License-Identifier: MIT

MACHINE ?= "imx6-sabrelite"
-
DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "armhf"
-
-KERNEL_NAME ?= "armmp"
-
-IMAGE_INSTALL += "sshd-regen-keys"
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:05 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

Machine-related configuration should be done in machine config, so move
it from multiconfig.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
meta-isar/conf/machine/qemuamd64-sb.conf | 9 +++++++++
meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf | 10 +---------
2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/meta-isar/conf/machine/qemuamd64-sb.conf b/meta-isar/conf/machine/qemuamd64-sb.conf
index c581ab39..419db3b2 100644
--- a/meta-isar/conf/machine/qemuamd64-sb.conf
+++ b/meta-isar/conf/machine/qemuamd64-sb.conf
@@ -9,6 +9,15 @@ IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi-sb-debian"
IMAGER_INSTALL += "${GRUB_DEBIAN_SB_CHAIN}"

+# include public keys
+IMAGE_INSTALL += "sb-mok-public"
+# include signed example module
+IMAGE_INSTALL += "example-module-signed-${KERNEL_NAME}"
+
+# add MOK utilities to insert MOK into EFI
+IMAGER_INSTALL += "${GRUB_DEBIAN_SB_MOK}"
+IMAGE_PREINSTALL += "mokutil"
+
IMAGE_INSTALL += "sshd-regen-keys"

QEMU_ARCH ?= "x86_64"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf b/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf
index 19a105eb..85ce3a65 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf
@@ -1,12 +1,4 @@
# This software is a part of ISAR.
+
MACHINE ?= "qemuamd64-sb"
DISTRO ?= "debian-bullseye"
-
-# include public keys
-IMAGE_INSTALL += "sb-mok-public"
-# include signed example module
-IMAGE_INSTALL += "example-module-signed-${KERNEL_NAME}"
-
-# add MOK utilities to insert MOK into EFI
-IMAGER_INSTALL += "${GRUB_DEBIAN_SB_MOK}"
-IMAGE_PREINSTALL += "mokutil"
--
2.20.1

Uladzimir Bely

unread,
Jun 12, 2023, 3:13:06 AM6/12/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

Make all the multiconfigs be configured in the same way.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/bananapi-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/bananapi-buster.conf | 4 ++--
meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/de0-nano-soc-buster.conf | 4 ++--
meta-isar/conf/multiconfig/hikey-bookworm.conf | 4 ++--
meta-isar/conf/multiconfig/hikey-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/nanopi-neo-buster.conf | 4 ++--
meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf | 4 ++--
.../conf/multiconfig/starfive-visionfive2-sid-ports.conf | 4 ++--
meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/stm32mp15x-buster.conf | 4 ++--
meta-isar/conf/multiconfig/virtualbox-bullseye.conf | 5 ++---
13 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/meta-isar/conf/multiconfig/bananapi-bullseye.conf b/meta-isar/conf/multiconfig/bananapi-bullseye.conf
index 35c5a246..9bbc1982 100644
--- a/meta-isar/conf/multiconfig/bananapi-bullseye.conf
+++ b/meta-isar/conf/multiconfig/bananapi-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "bananapi"
-DISTRO = "debian-bullseye"
+MACHINE ?= "bananapi"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/bananapi-buster.conf b/meta-isar/conf/multiconfig/bananapi-buster.conf
index 6262a077..8130e72c 100644
--- a/meta-isar/conf/multiconfig/bananapi-buster.conf
+++ b/meta-isar/conf/multiconfig/bananapi-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "bananapi"
-DISTRO = "debian-buster"
+MACHINE ?= "bananapi"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf b/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf
index 9473d395..e1ba4d85 100644
--- a/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf
+++ b/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "de0-nano-soc"
-DISTRO = "debian-bullseye"
+MACHINE ?= "de0-nano-soc"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf b/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf
index 0584d193..dd16568c 100644
--- a/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf
+++ b/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "de0-nano-soc"
-DISTRO = "debian-buster"
+MACHINE ?= "de0-nano-soc"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/hikey-bookworm.conf b/meta-isar/conf/multiconfig/hikey-bookworm.conf
index 671b1f77..71268a58 100644
--- a/meta-isar/conf/multiconfig/hikey-bookworm.conf
+++ b/meta-isar/conf/multiconfig/hikey-bookworm.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "hikey"
-DISTRO = "debian-bookworm"
+MACHINE ?= "hikey"
+DISTRO ?= "debian-bookworm"
diff --git a/meta-isar/conf/multiconfig/hikey-bullseye.conf b/meta-isar/conf/multiconfig/hikey-bullseye.conf
index 33ed3a3c..c7465a2b 100644
--- a/meta-isar/conf/multiconfig/hikey-bullseye.conf
+++ b/meta-isar/conf/multiconfig/hikey-bullseye.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "hikey"
-DISTRO = "debian-bullseye"
+MACHINE ?= "hikey"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf b/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf
index 54a582c1..0ce915b0 100644
--- a/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf
+++ b/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "nanopi-neo"
-DISTRO = "debian-bullseye"
+MACHINE ?= "nanopi-neo"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/nanopi-neo-buster.conf b/meta-isar/conf/multiconfig/nanopi-neo-buster.conf
index 3f54c0c1..34a440d4 100644
--- a/meta-isar/conf/multiconfig/nanopi-neo-buster.conf
+++ b/meta-isar/conf/multiconfig/nanopi-neo-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "nanopi-neo"
-DISTRO = "debian-buster"
+MACHINE ?= "nanopi-neo"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
index e4e0248c..313032ef 100644
--- a/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
+++ b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "sifive-fu540"
-DISTRO = "debian-sid-ports"
+MACHINE ?= "sifive-fu540"
+DISTRO ?= "debian-sid-ports"
diff --git a/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf b/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf
index 98c9534a..ee42ab4d 100644
--- a/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf
+++ b/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "starfive-visionfive2"
-DISTRO = "debian-sid-ports"
+MACHINE ?= "starfive-visionfive2"
+DISTRO ?= "debian-sid-ports"
diff --git a/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf b/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf
index 7cbff12a..9932210c 100644
--- a/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf
+++ b/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "stm32mp15x"
-DISTRO = "debian-bullseye"
+MACHINE ?= "stm32mp15x"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/stm32mp15x-buster.conf b/meta-isar/conf/multiconfig/stm32mp15x-buster.conf
index d1b76d0f..01caf876 100644
--- a/meta-isar/conf/multiconfig/stm32mp15x-buster.conf
+++ b/meta-isar/conf/multiconfig/stm32mp15x-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "stm32mp15x"
-DISTRO = "debian-buster"
+MACHINE ?= "stm32mp15x"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/virtualbox-bullseye.conf b/meta-isar/conf/multiconfig/virtualbox-bullseye.conf
index 90bb17e5..e7e2d50a 100644
--- a/meta-isar/conf/multiconfig/virtualbox-bullseye.conf
+++ b/meta-isar/conf/multiconfig/virtualbox-bullseye.conf
@@ -3,6 +3,5 @@
#
# SPDX-License-Identifier: MIT

-
-MACHINE = "virtualbox"
-DISTRO = "debian-bullseye"
+MACHINE ?= "virtualbox"
+DISTRO ?= "debian-bullseye"
--
2.20.1

Uladzimir Bely

unread,
Jun 13, 2023, 2:27:43 AM6/13/23
to isar-...@googlegroups.com
On Mon, 2023-06-12 at 09:12 +0200, Uladzimir Bely wrote:
> There are a lot of hacks in Isar are used by testsuite only. Some of
> them even cause variable setting issues for users. To prevent this
> kind
> of issues introduce separate meta-test layer to be used by testsuite
> only.
> This patchset also removes variables setting from multiconfigs to
> allow
> building without multiconfigs.
> The current patchset version is not fully tested and lack some
> documentation, but it should be a good starting point.
>

The patchset is going to be merged soon. Since it may require changes
in the downstreams (cleaned up multiconfigs, moved some stuff in new
'meta-test' layer) we want to warn about it so that the downstreams
could test it in advance.

Jan Kiszka

unread,
Jun 15, 2023, 1:07:15 AM6/15/23
to Uladzimir Bely, isar-...@googlegroups.com
This is an anti-pattern when you want to allow reusing the machine
configs outside of Isar testing scenarios, see also [1].

Jan

[1]
https://groups.google.com/d/msgid/isar-users/b37eca8a55e91777ec3fdb54c989326b54c0253f.1685895669.git.jan.kiszka%40siemens.com

--
Siemens AG, Technology
Competence Center Embedded Linux

Jan Kiszka

unread,
Jun 15, 2023, 1:13:37 AM6/15/23
to Uladzimir Bely, isar-...@googlegroups.com
It's not yet ready, see comment on patch 8 which applies to patch 9 as well.

Jan

Anton Mikanovich

unread,
Jun 15, 2023, 4:19:42 AM6/15/23
to Jan Kiszka, Uladzimir Bely, isar-...@googlegroups.com
Hello Jan, one of the main ideas here was to cleanup all the multiconfigs to
enable building images with local.conf machine+distro values only.
But qemuamd64-sb-bullseye is really special target currently. If we move
those
options to isar-image-ci recipe the target will be unusable without
meta-test
layer. All other targets are buildable even without meta-test which
allows this
new layer to be optional.

MOESSBAUER, Felix

unread,
Jun 15, 2023, 5:15:37 AM6/15/23
to Anton Mikanovich, Kiszka, Jan, Uladzimir Bely, isar-...@googlegroups.com
> Subject: Re: [PATCH v3 08/10] meta-isar: Remove qemuamd64-sb settings
> from multiconfig
>
> 15/06/2023 08:07, 'Jan Kiszka' via isar-users wrote:
> > On 12.06.23 09:12, Uladzimir Bely wrote:
> >> From: Anton Mikanovich <ami...@ilbers.de>
> >>
> >> Machine-related configuration should be done in machine config, so
> >> move it from multiconfig.
> >>
> >> Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
> >> Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
> >> ---
> >> meta-isar/conf/machine/qemuamd64-sb.conf | 9 +++++++++
> >> meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf | 10 +---------
> >> 2 files changed, 10 insertions(+), 9 deletions(-)
> >>
> >> diff --git a/meta-isar/conf/machine/qemuamd64-sb.conf
> >> b/meta-isar/conf/machine/qemuamd64-sb.conf
> >> index c581ab39..419db3b2 100644
> >> --- a/meta-isar/conf/machine/qemuamd64-sb.conf
> >> +++ b/meta-isar/conf/machine/qemuamd64-sb.conf
> >> @@ -9,6 +9,15 @@ IMAGE_FSTYPES ?= "wic"
> >> WKS_FILE ?= "sdimage-efi-sb-debian"
> >> IMAGER_INSTALL += "${GRUB_DEBIAN_SB_CHAIN}"
> >>
> >> +# include public keys
> >> +IMAGE_INSTALL += "sb-mok-public"
> >> +# include signed example module
> >> +IMAGE_INSTALL += "example-module-signed-${KERNEL_NAME}"
> >> +
> >> +# add MOK utilities to insert MOK into EFI IMAGER_INSTALL +=
> >> +"${GRUB_DEBIAN_SB_MOK}"
In my opinion, the example can be moved to the CI layer. In case users want to create SB enabled images with the Debian toolchain, they can simply set the WKS file accordingly and add the GRUB_DEBIAN_SB_MOK.
With the IMAGE_INSTALL / PREINSTALL lines, the target it hardly usable directly.

Best regards,
Felix

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:48 AM6/20/23
to isar-...@googlegroups.com
There are a lot of hacks in Isar are used by testsuite only. Some of
them even cause variable setting issues for users. To prevent this kind
of issues introduce separate meta-test layer to be used by testsuite
only.
This patchset also removes variables setting from multiconfigs to allow
building without multiconfigs.
The current patchset version is not fully tested and lack some
documentation, but it should be a good starting point.

Changes since v3:
- Cleanup machine configs from IMAGE_INSTALL and IMAGE_PREINSTALL entries
that are not related to machine configuration.
- Base qemuamd64-sb config on qemuamd64 one.

Changes since v2:
- Fix warnings from bitbake during parsing multiconfigs by making files
from `meta-isar/recipes-core/images` visible for isar-image-ci.

Changes since v1:
- Rebased on latest `next`.
- Added RECIPE-API-CHANGELOG.md entry.

The patchset is additionally tested with `meta-iot2050` downstream.

Anton Mikanovich (10):
CI: Introduce meta-test layer
ubuntu: Fix WKS_FILE overriding
CI: Move qemuamd64-bookworm hacks to CI layer
CI: Move qemuamd64-bullseye hacks to CI layer
CI: Move qemuamd64-buster hacks to CI layer
CI: Move qemuarm-bookworm hacks to CI layer
CI: Move qemuarm64-bookworm hacks to CI layer
meta-isar: Remove qemuamd64-sb settings from multiconfig
meta-isar: Remove imx6-sabrelite settings from multiconfig
meta-isar: Unify multiconfigs to use weak assignments

Uladzimir Bely (2):
meta-isar: Cleanup machine configs
meta-isar: Base qemuamd64-sb config on qemuamd64

RECIPE-API-CHANGELOG.md | 13 +++
meta-isar/conf/distro/ubuntu-common.inc | 2 +
meta-isar/conf/local.conf.sample | 5 +
meta-isar/conf/machine/imx6-sabrelite.conf | 4 +
meta-isar/conf/machine/phyboard-mira.conf | 1 -
meta-isar/conf/machine/qemuamd64-sb.conf | 23 ++---
meta-isar/conf/machine/qemuamd64.conf | 15 ---
meta-isar/conf/machine/rpi-common.conf | 17 +---
.../conf/machine/starfive-visionfive2.conf | 3 -
meta-isar/conf/machine/virtualbox.conf | 1 -
meta-isar/conf/machine/vmware.conf | 1 -
.../conf/multiconfig/bananapi-bullseye.conf | 4 +-
.../conf/multiconfig/bananapi-buster.conf | 4 +-
.../multiconfig/de0-nano-soc-bullseye.conf | 4 +-
.../conf/multiconfig/de0-nano-soc-buster.conf | 4 +-
.../conf/multiconfig/hikey-bookworm.conf | 4 +-
.../conf/multiconfig/hikey-bullseye.conf | 4 +-
.../multiconfig/imx6-sabrelite-bullseye.conf | 6 --
.../multiconfig/imx6-sabrelite-buster.conf | 6 --
.../conf/multiconfig/nanopi-neo-bullseye.conf | 4 +-
.../conf/multiconfig/nanopi-neo-buster.conf | 4 +-
.../conf/multiconfig/qemuamd64-bookworm.conf | 1 -
.../conf/multiconfig/qemuamd64-bullseye.conf | 2 -
.../conf/multiconfig/qemuamd64-buster.conf | 4 -
.../conf/multiconfig/qemuamd64-focal.conf | 2 -
.../conf/multiconfig/qemuamd64-jammy.conf | 2 -
.../multiconfig/qemuamd64-sb-bullseye.conf | 11 +--
.../conf/multiconfig/qemuarm-bookworm.conf | 6 --
.../conf/multiconfig/qemuarm64-bookworm.conf | 3 -
.../multiconfig/sifive-fu540-sid-ports.conf | 4 +-
.../starfive-visionfive2-sid-ports.conf | 4 +-
.../conf/multiconfig/stm32mp15x-bullseye.conf | 4 +-
.../conf/multiconfig/stm32mp15x-buster.conf | 4 +-
.../conf/multiconfig/virtualbox-bullseye.conf | 5 +-
meta-isar/recipes-ci/images/isar-image-ci.bb | 9 --
meta-test/conf/bblayers.conf.sample | 18 ++++
meta-test/conf/conf-notes.txt | 3 +
meta-test/conf/layer.conf | 20 ++++
meta-test/conf/local.conf.sample | 95 +++++++++++++++++++
meta-test/recipes-ci/images/isar-image-ci.bb | 51 ++++++++++
.../isar-ci-ssh-setup/files/postinst | 0
.../isar-ci-ssh-setup_0.1.bb | 0
testsuite/cibuilder.py | 1 +
testsuite/citest.py | 32 ++++---
44 files changed, 274 insertions(+), 136 deletions(-)
delete mode 100644 meta-isar/recipes-ci/images/isar-image-ci.bb
create mode 100644 meta-test/conf/bblayers.conf.sample
create mode 100644 meta-test/conf/conf-notes.txt
create mode 100644 meta-test/conf/layer.conf
create mode 100644 meta-test/conf/local.conf.sample
create mode 100644 meta-test/recipes-ci/images/isar-image-ci.bb
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/files/postinst (100%)
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb (100%)

--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:48 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting custom WKS_FILE inside local.conf move overridden
value from machine config to meta-test. Also move distro-related
changing of KERNEL_NAME distro config.

Reported-by: Felix Moessbauer <felix.mo...@siemens.com>
Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
meta-isar/conf/distro/ubuntu-common.inc | 2 ++
meta-isar/conf/machine/qemuamd64.conf | 7 -------
meta-isar/conf/multiconfig/qemuamd64-focal.conf | 2 --
meta-isar/conf/multiconfig/qemuamd64-jammy.conf | 2 --
meta-test/recipes-ci/images/isar-image-ci.bb | 10 ++++++++++
5 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/meta-isar/conf/distro/ubuntu-common.inc b/meta-isar/conf/distro/ubuntu-common.inc
index becb7e0a..6a990a89 100644
--- a/meta-isar/conf/distro/ubuntu-common.inc
+++ b/meta-isar/conf/distro/ubuntu-common.inc
@@ -16,6 +16,8 @@ BOOTSTRAP_KEY = "file://${LAYERDIR_isar}/conf/distro/ubuntu.public.key;sha256sum
DISTRO_BOOTSTRAP_KEYS += "${BOOTSTRAP_KEY}"
HOST_DISTRO_BOOTSTRAP_KEYS += "${BOOTSTRAP_KEY}"

+# kernel package name is linux-image-generic in Ubuntu
+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/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index 11842ec4..c02b3860 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -4,18 +4,11 @@
DISTRO_ARCH ?= "amd64"

KERNEL_NAME ?= "amd64"
-KERNEL_NAME:ubuntu-focal ?= "generic"
-KERNEL_NAME:ubuntu-jammy ?= "generic"

IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi"
IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"

-WKS_FILE:ubuntu-focal ?= "sdimage-efi-sd"
-WKS_FILE:ubuntu-jammy ?= "sdimage-efi-sd"
-IMAGER_INSTALL:remove:ubuntu-focal = "${GRUB_BOOTLOADER_INSTALL}"
-IMAGER_INSTALL:remove:ubuntu-jammy = "${GRUB_BOOTLOADER_INSTALL}"
-
WKS_FILE:debian-bullseye ?= "sdimage-efi-btrfs"
IMAGER_INSTALL:remove:debian-bullseye = "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL:append:debian-bullseye = " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-focal.conf b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
index 3de0b809..09076eba 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-focal.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-focal.conf
@@ -5,5 +5,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "ubuntu-focal"
-
-IMAGER_INSTALL += "${SYSTEMD_BOOTLOADER_INSTALL}"
diff --git a/meta-isar/conf/multiconfig/qemuamd64-jammy.conf b/meta-isar/conf/multiconfig/qemuamd64-jammy.conf
index 7dd395c2..ec893604 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-jammy.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-jammy.conf
@@ -5,5 +5,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "ubuntu-jammy"
-
-IMAGER_INSTALL += "${SYSTEMD_BOOTLOADER_INSTALL}"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 93c7065b..567c6cda 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -12,3 +12,13 @@ ISAR_RELEASE_CMD = "git -C ${LAYERDIR_test} describe --tags --dirty --match 'v[0

# Setup SSH server on board
IMAGE_INSTALL += "isar-ci-ssh-setup"
+
+# qemuamd64-focal
+WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
+IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
+IMAGER_INSTALL:append:qemuamd64:ubuntu-focal ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
+
+# qemuamd64-jammy
+WKS_FILE:qemuamd64:ubuntu-jammy ?= "sdimage-efi-sd"
+IMAGER_INSTALL:remove:qemuamd64:ubuntu-jammy ?= "${GRUB_BOOTLOADER_INSTALL}"
+IMAGER_INSTALL:append:qemuamd64:ubuntu-jammy ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:48 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuamd64-bookworm.conf | 1 -
meta-test/recipes-ci/images/isar-image-ci.bb | 3 +++
testsuite/citest.py | 4 ++--
3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf b/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf
index 591918de..a5ad814f 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-bookworm.conf
@@ -2,4 +2,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "debian-bookworm"
-WKS_FILE ?= "multipart-efi.wks"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 567c6cda..4ef1333b 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -13,6 +13,9 @@ ISAR_RELEASE_CMD = "git -C ${LAYERDIR_test} describe --tags --dirty --match 'v[0
# Setup SSH server on board
IMAGE_INSTALL += "isar-ci-ssh-setup"

+# qemuamd64-bookworm
+WKS_FILE:qemuamd64:debian-bookworm ?= "multipart-efi.wks"
+
# qemuamd64-focal
WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 17a90244..e4b36519 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -238,7 +238,7 @@ class NoCrossTest(CIBaseTest):

def test_nocross_bookworm(self):
targets = [
- 'mc:qemuamd64-bookworm:isar-image-base',
+ 'mc:qemuamd64-bookworm:isar-image-ci',
'mc:qemuarm-bookworm:isar-image-base',
'mc:qemui386-bookworm:isar-image-base',
'mc:qemumipsel-bookworm:isar-image-ci',

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:49 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

This layer will be used for internal testing only and handle all the
customizations needed for testsuite.

- Move `isar-image-ci recipe` to this layer.
- Copy local.conf.sample from `meta-isar` layer to be able to remove
test-specific settings from `meta-isar` later. Don't kee unused options
in the copy - leave only original file in `meta-isar` self-documented.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
RECIPE-API-CHANGELOG.md | 5 +
meta-test/conf/bblayers.conf.sample | 18 ++++
meta-test/conf/conf-notes.txt | 3 +
meta-test/conf/layer.conf | 20 ++++
meta-test/conf/local.conf.sample | 91 +++++++++++++++++++
.../recipes-ci/images/isar-image-ci.bb | 5 +
.../isar-ci-ssh-setup/files/postinst | 0
.../isar-ci-ssh-setup_0.1.bb | 0
testsuite/cibuilder.py | 1 +
9 files changed, 143 insertions(+)
create mode 100644 meta-test/conf/bblayers.conf.sample
create mode 100644 meta-test/conf/conf-notes.txt
create mode 100644 meta-test/conf/layer.conf
create mode 100644 meta-test/conf/local.conf.sample
rename {meta-isar => meta-test}/recipes-ci/images/isar-image-ci.bb (52%)
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/files/postinst (100%)
rename {meta-isar => meta-test}/recipes-ci/isar-ci-ssh-setup/isar-ci-ssh-setup_0.1.bb (100%)

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index 7a16b5c2..bc892f53 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -492,3 +492,8 @@ Recipes inheriting dpkg-base now automatically have a bitbake target
exists for the current `DISTRO_ARCH`.
In that case the compat package can be built by adding `<foo>-compat`
to `DEPENDS` or `IMAGE_INSTALL`.
+
+### Introduce meta-test layer
+
+Some CI-related recipes and images moves to meta-test from meta-isar, so if
+a downstream used them, they should update their layers.conf accordingly.
diff --git a/meta-test/conf/bblayers.conf.sample b/meta-test/conf/bblayers.conf.sample
new file mode 100644
index 00000000..dcec6cf6
--- /dev/null
+++ b/meta-test/conf/bblayers.conf.sample
@@ -0,0 +1,18 @@
index 00000000..ed569c5c
--- /dev/null
+++ b/meta-test/conf/local.conf.sample
@@ -0,0 +1,91 @@
+# This software is a part of ISAR.
+# Copyright (C) 2023 ilbers GmbH
+
+# Machine and distro selection
+MACHINE ??= "qemuarm"
+DISTRO ??= "debian-bullseye"
+DISTRO_ARCH ??= "armhf"
+
+# The list of known multiple configurations
+# Disable interactive patch resolution
+PATCHRESOLVE = "noop"
+
+# Disk Space Monitoring settings
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ HALT,${TMPDIR},100M,1K \
+ HALT,${DL_DIR},100M,1K \
+ HALT,${SSTATE_DIR},100M,1K \
+ HALT,/tmp,10M,1K"
+
+# Isar and external MIRRORS in case of service unavailable
+MIRRORS ?= "git?://salsa\.debian\.org/debian/.* git://github.com/ilbers/BASENAME"
+MIRRORS += "https?://cdn\.kernel\.org/.* https://mirrors.edge.kernel.org/PATH"
+
+# The default list of extra packages
+IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile hello isar-disable-apt-cache cowsay example-prebuilt"
+
+# Users and groups
+USERS += "root"
+USER_root[password] ??= "$6$rounds=10000$RXeWrnFmkY$DtuS/OmsAS2cCEDo0BF5qQsizIrq6jPgXnwv3PHqREJeKd1sXdHX/ayQtuQWVDHe0KIO0/sVH8dvQm1KthF0d/"
+
+GROUPS += "isar"
+GROUP_isar[flags] = "system"
+
+USERS += "isar"
+USER_isar[gid] = "isar"
+USER_isar[home] = "/var/lib/isar"
+USER_isar[comment] = "My isar user"
+USER_isar[flags] = "system create-home"
+USER_isar[password] = "isar"
+USER_isar[flags] += "clear-text-password"
diff --git a/meta-isar/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
similarity index 52%
rename from meta-isar/recipes-ci/images/isar-image-ci.bb
rename to meta-test/recipes-ci/images/isar-image-ci.bb
index 77b1ef6e..93c7065b 100644
--- a/meta-isar/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -5,5 +5,10 @@

require recipes-core/images/isar-image-base.bb

+FILESEXTRAPATHS:append = ":${LAYERDIR_isar}/recipes-core/images:"
+
+# Avoid ISAR_RELEASE_CMD warning in image.bbclass
+ISAR_RELEASE_CMD = "git -C ${LAYERDIR_test} describe --tags --dirty --match 'v[0-9].[0-9]*'"
+
# Setup SSH server on board
IMAGE_INSTALL += "isar-ci-ssh-setup"

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:50 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/machine/qemuamd64.conf | 5 -----
meta-isar/conf/multiconfig/qemuamd64-bullseye.conf | 2 --
meta-test/recipes-ci/images/isar-image-ci.bb | 7 +++++++
testsuite/citest.py | 9 +++++----
4 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index c02b3860..cdee9bdd 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -9,11 +9,6 @@ IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi"
IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"

-WKS_FILE:debian-bullseye ?= "sdimage-efi-btrfs"
-IMAGER_INSTALL:remove:debian-bullseye = "${GRUB_BOOTLOADER_INSTALL}"
-IMAGER_INSTALL:append:debian-bullseye = " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
-IMAGE_PREINSTALL:append:debian-bullseye = " btrfs-progs"
-
IMAGE_INSTALL += "sshd-regen-keys"
IMAGE_INSTALL += "expand-on-first-boot"

diff --git a/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf b/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
index 1c1326cd..1badc889 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-bullseye.conf
@@ -2,5 +2,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "debian-bullseye"
-
-IMAGE_FSTYPES:append = " cpio.gz tar.gz"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 4ef1333b..ad7560af 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -16,6 +16,13 @@ IMAGE_INSTALL += "isar-ci-ssh-setup"
# qemuamd64-bookworm
WKS_FILE:qemuamd64:debian-bookworm ?= "multipart-efi.wks"

+# qemuamd64-bullseye
+IMAGE_FSTYPES:append:qemuamd64:debian-bullseye ?= " cpio.gz tar.gz"
+WKS_FILE:qemuamd64:debian-bullseye ?= "sdimage-efi-btrfs"
+IMAGER_INSTALL:remove:qemuamd64:debian-bullseye ?= "${GRUB_BOOTLOADER_INSTALL}"
+IMAGER_INSTALL:append:qemuamd64:debian-bullseye ?= " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
+IMAGE_PREINSTALL:append:qemuamd64:debian-bullseye ?= " btrfs-progs"
+
# qemuamd64-focal
WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index e4b36519..4e6bf333 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -26,7 +26,7 @@ class DevTest(CIBaseTest):
"""
def test_dev(self):
targets = [
- 'mc:qemuamd64-bullseye:isar-image-base',
+ 'mc:qemuamd64-bullseye:isar-image-ci',
'mc:qemuarm-bullseye:isar-image-base',
'mc:qemuarm-bullseye:isar-image-base:do_populate_sdk',
'mc:qemuarm64-bullseye:isar-image-base'
@@ -37,7 +37,7 @@ class DevTest(CIBaseTest):

def test_dev_apps(self):
targets = [
- 'mc:qemuamd64-bullseye:isar-image-base',
+ 'mc:qemuamd64-bullseye:isar-image-ci',
'mc:qemuarm64-bullseye:isar-image-base'
]

@@ -55,13 +55,14 @@ class DevTest(CIBaseTest):
file.write('do_fetch:append() {\n\n}')

try:
- self.perform_build_test('mc:qemuamd64-bullseye:isar-image-base')
+ self.perform_build_test('mc:qemuamd64-bullseye:isar-image-ci')
finally:
self.restorefile(dpkgbase_file)

def test_dev_run_amd64_bullseye(self):
self.init()
- self.vm_start('amd64', 'bullseye')
+ self.vm_start('amd64', 'bullseye', \
+ image='isar-image-ci')

def test_dev_run_arm64_bullseye(self):
self.init()
--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:50 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuamd64-buster.conf | 4 ----
meta-test/recipes-ci/images/isar-image-ci.bb | 5 +++++
testsuite/citest.py | 8 +++++---
3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuamd64-buster.conf b/meta-isar/conf/multiconfig/qemuamd64-buster.conf
index 79d0aa63..3fabd675 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-buster.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-buster.conf
@@ -2,7 +2,3 @@

MACHINE ?= "qemuamd64"
DISTRO ?= "debian-buster"
-WKS_FILE ?= "efi-plus-pcbios.wks"
-IMAGER_INSTALL += "${SYSLINUX_BOOTLOADER_INSTALL}"
-
-IMAGE_FSTYPES ?= "wic ext4"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index ad7560af..f69e1864 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -23,6 +23,11 @@ IMAGER_INSTALL:remove:qemuamd64:debian-bullseye ?= "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL:append:qemuamd64:debian-bullseye ?= " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
IMAGE_PREINSTALL:append:qemuamd64:debian-bullseye ?= " btrfs-progs"

+# qemuamd64-buster
+IMAGE_FSTYPES:qemuamd64:debian-buster ?= "wic ext4"
+WKS_FILE:qemuamd64:debian-buster ?= "efi-plus-pcbios"
+IMAGER_INSTALL:append:qemuamd64:debian-buster ?= " ${SYSLINUX_BOOTLOADER_INSTALL}"
+
# qemuamd64-focal
WKS_FILE:qemuamd64:ubuntu-focal ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-focal ?= "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 4e6bf333..7751d54a 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -204,7 +204,7 @@ class NoCrossTest(CIBaseTest):
'mc:qemuarm64-bullseye:isar-image-ci',
'mc:qemui386-buster:isar-image-base',
'mc:qemui386-bullseye:isar-image-base',
- 'mc:qemuamd64-buster:isar-image-base',
+ 'mc:qemuamd64-buster:isar-image-ci',
'mc:qemuamd64-bullseye:isar-initramfs',
'mc:qemumipsel-buster:isar-image-base',
'mc:qemumipsel-bullseye:isar-image-base',
@@ -432,9 +432,11 @@ class VmBootTestFull(CIBaseTest):
def test_amd64_buster(self):
self.init()
# test efi boot
- self.vm_start('amd64','buster')
+ self.vm_start('amd64','buster', \
+ image='isar-image-ci')
# test pcbios boot
- self.vm_start('amd64', 'buster', True)
+ self.vm_start('amd64', 'buster', True, \
+ image='isar-image-ci')

def test_amd64_focal(self):
self.init()
--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:50 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuarm64-bookworm.conf | 3 ---
meta-test/recipes-ci/images/isar-image-ci.bb | 4 ++++
testsuite/citest.py | 6 +++---
3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf b/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf
index 714e4d73..c6b92d2e 100644
--- a/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf
+++ b/meta-isar/conf/multiconfig/qemuarm64-bookworm.conf
@@ -4,6 +4,3 @@

MACHINE ?= "qemuarm64"
DISTRO ?= "debian-bookworm"
-
-IMAGE_FSTYPES:append = " wic.xz"
-IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 65822599..733f7204 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -43,3 +43,7 @@ IMAGE_FSTYPES:append:qemuarm:debian-bookworm ?= " wic"
WKS_FILE:qemuarm:debian-bookworm ?= "sdimage-efi-sd"
IMAGE_INSTALL:append:qemuarm:debian-bookworm = " expand-on-first-boot"
IMAGER_INSTALL:append:qemuarm:debian-bookworm ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
+
+# qemuarm64-bookworm
+IMAGE_FSTYPES:append:qemuarm64:debian-bookworm ?= " wic.xz"
+IMAGER_INSTALL:append:qemuarm64:debian-bookworm ?= " ${GRUB_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 779d86e2..d49c5c8e 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:50 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

To enable setting CI-related config in testsuite only move it from
meta-isar to meta-test layer. Also change testsuite to use new image.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/qemuarm-bookworm.conf | 6 ------
meta-test/recipes-ci/images/isar-image-ci.bb | 6 ++++++
testsuite/citest.py | 5 +++--
3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/meta-isar/conf/multiconfig/qemuarm-bookworm.conf b/meta-isar/conf/multiconfig/qemuarm-bookworm.conf
index ce533ee7..08192365 100644
--- a/meta-isar/conf/multiconfig/qemuarm-bookworm.conf
+++ b/meta-isar/conf/multiconfig/qemuarm-bookworm.conf
@@ -2,9 +2,3 @@

MACHINE ?= "qemuarm"
DISTRO ?= "debian-bookworm"
-
-IMAGE_FSTYPES:append = " wic"
-WKS_FILE ?= "sdimage-efi-sd"
-
-IMAGER_INSTALL += "${SYSTEMD_BOOTLOADER_INSTALL}"
-IMAGE_INSTALL += "expand-on-first-boot"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index f69e1864..65822599 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -37,3 +37,9 @@ IMAGER_INSTALL:append:qemuamd64:ubuntu-focal ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
WKS_FILE:qemuamd64:ubuntu-jammy ?= "sdimage-efi-sd"
IMAGER_INSTALL:remove:qemuamd64:ubuntu-jammy ?= "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL:append:qemuamd64:ubuntu-jammy ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
+
+# qemuarm-bookworm
+IMAGE_FSTYPES:append:qemuarm:debian-bookworm ?= " wic"
+WKS_FILE:qemuarm:debian-bookworm ?= "sdimage-efi-sd"
+IMAGE_INSTALL:append:qemuarm:debian-bookworm = " expand-on-first-boot"
+IMAGER_INSTALL:append:qemuarm:debian-bookworm ?= " ${SYSTEMD_BOOTLOADER_INSTALL}"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index 7751d54a..779d86e2 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -240,7 +240,7 @@ class NoCrossTest(CIBaseTest):
def test_nocross_bookworm(self):
targets = [
'mc:qemuamd64-bookworm:isar-image-ci',
- 'mc:qemuarm-bookworm:isar-image-base',
+ 'mc:qemuarm-bookworm:isar-image-ci',
'mc:qemui386-bookworm:isar-image-base',
'mc:qemumipsel-bookworm:isar-image-ci',
'mc:hikey-bookworm:isar-image-base'
@@ -459,7 +459,8 @@ class VmBootTestFull(CIBaseTest):

def test_arm_bookworm(self):
self.init()
- self.vm_start('arm','bookworm')
+ self.vm_start('arm','bookworm', \
+ image='isar-image-ci')

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:51 AM6/20/23
to isar-...@googlegroups.com
Some stuff from IMAGE_INSTALL / IMAGE_PREINSTALL like `sshd-regen-keys`
or `expand-on-first-boot` should not be part of machine configs.

Move it to the isar-image-ci configuration for the targets that
we tested. If a downstream relays on these packages for some hardware
targets they should adjust their `local.conf` or image recipe.

Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
RECIPE-API-CHANGELOG.md | 8 ++++++++
meta-isar/conf/machine/phyboard-mira.conf | 1 -
meta-isar/conf/machine/qemuamd64-sb.conf | 2 --
meta-isar/conf/machine/qemuamd64.conf | 3 ---
meta-isar/conf/machine/rpi-common.conf | 17 +++++------------
.../conf/machine/starfive-visionfive2.conf | 3 ---
meta-isar/conf/machine/virtualbox.conf | 1 -
meta-isar/conf/machine/vmware.conf | 1 -
.../multiconfig/imx6-sabrelite-bullseye.conf | 2 --
.../conf/multiconfig/imx6-sabrelite-buster.conf | 2 --
meta-test/recipes-ci/images/isar-image-ci.bb | 2 ++
11 files changed, 15 insertions(+), 27 deletions(-)

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index bc892f53..e25ed38e 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -497,3 +497,11 @@ to `DEPENDS` or `IMAGE_INSTALL`.

Some CI-related recipes and images moves to meta-test from meta-isar, so if
a downstream used them, they should update their layers.conf accordingly.
+
+### Cleanup machine configs and multiconfigs from irrelevant packages
+
+Machine configs and multiconfigs should not include any IMAGE_INSTALL and
+IMAGE_PREINSTALL entries that doesn't refers to machine configuration, such as
+`expand-on-first-boot` or `sshd-regen-keys`.
+The configs are cleaned up now and this fact may force downstreams to modify
+their configuration if they relied on these packages.
diff --git a/meta-isar/conf/machine/phyboard-mira.conf b/meta-isar/conf/machine/phyboard-mira.conf
index 82e65343..0bc60cb0 100644
--- a/meta-isar/conf/machine/phyboard-mira.conf
+++ b/meta-isar/conf/machine/phyboard-mira.conf
@@ -18,7 +18,6 @@ IMAGE_FSTYPES ?= "ubi ubifs"

DTB_FILES = "imx6q-phytec-mira-ff-rdk-nand.dtb"

-IMAGE_INSTALL += "sshd-regen-keys"
IMAGE_INSTALL += "barebox"

BAREBOX_CONFIG = "imx_v7_defconfig"
diff --git a/meta-isar/conf/machine/qemuamd64-sb.conf b/meta-isar/conf/machine/qemuamd64-sb.conf
index c581ab39..84ef89eb 100644
--- a/meta-isar/conf/machine/qemuamd64-sb.conf
+++ b/meta-isar/conf/machine/qemuamd64-sb.conf
@@ -9,8 +9,6 @@ IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi-sb-debian"
IMAGER_INSTALL += "${GRUB_DEBIAN_SB_CHAIN}"

-IMAGE_INSTALL += "sshd-regen-keys"
-
QEMU_ARCH ?= "x86_64"
QEMU_MACHINE ?= "q35"
QEMU_CPU ?= ""
diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index cdee9bdd..f417ce24 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -9,9 +9,6 @@ IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi"
IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"

-IMAGE_INSTALL += "sshd-regen-keys"
-IMAGE_INSTALL += "expand-on-first-boot"
-
QEMU_ARCH ?= "x86_64"
QEMU_MACHINE ?= "q35"
QEMU_CPU ?= ""
diff --git a/meta-isar/conf/machine/rpi-common.conf b/meta-isar/conf/machine/rpi-common.conf
index 327ac91b..078ea195 100644
--- a/meta-isar/conf/machine/rpi-common.conf
+++ b/meta-isar/conf/machine/rpi-common.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
-# Copyright (C) 2022 ilbers GmbH
+# Copyright (C) 2023 ilbers GmbH

BOOT_SPACE ?= "81920"
MACHINE_SERIAL ?= "serial0"
@@ -12,18 +12,11 @@ KERNEL_TYPE = "raspios"
KERNEL_IMAGE_PKG ?= "raspberrypi-kernel"
KERNEL_HEADERS_PKG ?= "raspberrypi-kernel-headers"

-IMAGE_PREINSTALL += " \
- fdisk \
- iproute2 \
- iputils-ping \
- isc-dhcp-client \
- raspberrypi-bootloader \
- raspi-config \
- systemd-sysv \
- "
+IMAGE_PREINSTALL += "raspberrypi-bootloader \
+ raspi-config \
+ systemd-sysv"

-IMAGE_INSTALL += "expand-on-first-boot \
- bootconfig-${MACHINE}"
+IMAGE_INSTALL += "bootconfig-${MACHINE}"

WIC_IMAGER_INSTALL = "parted \
dosfstools \
diff --git a/meta-isar/conf/machine/starfive-visionfive2.conf b/meta-isar/conf/machine/starfive-visionfive2.conf
index a07b064f..b051902f 100644
--- a/meta-isar/conf/machine/starfive-visionfive2.conf
+++ b/meta-isar/conf/machine/starfive-visionfive2.conf
@@ -20,9 +20,6 @@ IMAGER_BUILD_DEPS += " \
jh7110-u-boot-spl-image \
visionfive2-u-boot-firmware"

-IMAGE_INSTALL += "sshd-regen-keys"
-IMAGE_INSTALL += "expand-on-first-boot"
-
# DTB file for OpenSBI
DTB_UBOOT_JH7110_VF2 = "starfive_visionfive2.dtb"
# DTB file for booting
diff --git a/meta-isar/conf/machine/virtualbox.conf b/meta-isar/conf/machine/virtualbox.conf
index 8c3e9bac..de3d04c3 100644
--- a/meta-isar/conf/machine/virtualbox.conf
+++ b/meta-isar/conf/machine/virtualbox.conf
@@ -10,7 +10,6 @@ KERNEL_NAME ?= "amd64"
WKS_FILE ?= "sdimage-efi"

IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"
-IMAGE_INSTALL += "expand-on-first-boot"

VMDK_SUBFORMAT = "monolithicSparse"
IMAGE_FSTYPES ?= "ova"
diff --git a/meta-isar/conf/machine/vmware.conf b/meta-isar/conf/machine/vmware.conf
index 42503374..fba639b1 100644
--- a/meta-isar/conf/machine/vmware.conf
+++ b/meta-isar/conf/machine/vmware.conf
@@ -12,7 +12,6 @@ WKS_FILE ?= "sdimage-efi"
IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}"

OVF_TEMPLATE_FILE ?= "vm-img-vmware.ovf.tmpl"
-IMAGE_INSTALL += "expand-on-first-boot"

VMDK_SUBFORMAT = "streamOptimized"
IMAGE_FSTYPES ?= "ova"
diff --git a/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf b/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
index 92615f22..909eadc5 100644
--- a/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
+++ b/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
@@ -7,5 +7,3 @@ DISTRO ?= "debian-bullseye"
DISTRO_ARCH ?= "armhf"

KERNEL_NAME ?= "armmp"
-
-IMAGE_INSTALL += "sshd-regen-keys"
diff --git a/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf b/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
index c19f193c..54aed3e6 100644
--- a/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
+++ b/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
@@ -9,5 +9,3 @@ DISTRO ?= "debian-buster"
DISTRO_ARCH ?= "armhf"

KERNEL_NAME ?= "armmp"
-
-IMAGE_INSTALL += "sshd-regen-keys"
diff --git a/meta-test/recipes-ci/images/isar-image-ci.bb b/meta-test/recipes-ci/images/isar-image-ci.bb
index 733f7204..6d6c49c8 100644
--- a/meta-test/recipes-ci/images/isar-image-ci.bb
+++ b/meta-test/recipes-ci/images/isar-image-ci.bb
@@ -12,6 +12,7 @@ ISAR_RELEASE_CMD = "git -C ${LAYERDIR_test} describe --tags --dirty --match 'v[0

# Setup SSH server on board
IMAGE_INSTALL += "isar-ci-ssh-setup"
+IMAGE_INSTALL += "sshd-regen-keys"

# qemuamd64-bookworm
WKS_FILE:qemuamd64:debian-bookworm ?= "multipart-efi.wks"
@@ -19,6 +20,7 @@ WKS_FILE:qemuamd64:debian-bookworm ?= "multipart-efi.wks"
# qemuamd64-bullseye
IMAGE_FSTYPES:append:qemuamd64:debian-bullseye ?= " cpio.gz tar.gz"
WKS_FILE:qemuamd64:debian-bullseye ?= "sdimage-efi-btrfs"
+IMAGE_INSTALL:append:qemuamd64:debian-bullseye = " expand-on-first-boot"
IMAGER_INSTALL:remove:qemuamd64:debian-bullseye ?= "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL:append:qemuamd64:debian-bullseye ?= " ${SYSTEMD_BOOTLOADER_INSTALL} btrfs-progs"
IMAGE_PREINSTALL:append:qemuamd64:debian-bullseye ?= " btrfs-progs"
--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:51 AM6/20/23
to isar-...@googlegroups.com
Base one on another in order to simplify maintanance and put emphasis
on secureboot-related differencies.

Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
meta-isar/conf/machine/qemuamd64-sb.conf | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/meta-isar/conf/machine/qemuamd64-sb.conf b/meta-isar/conf/machine/qemuamd64-sb.conf
index 315f5c00..0fa85155 100644
--- a/meta-isar/conf/machine/qemuamd64-sb.conf
+++ b/meta-isar/conf/machine/qemuamd64-sb.conf
@@ -1,12 +1,13 @@
# This software is a part of ISAR.
# Copyright (C) 2022 Siemens AG
+# Copyright (C) 2023 ilbers GmbH

-DISTRO_ARCH ?= "amd64"
+include conf/machine/qemuamd64.conf

-KERNEL_NAME ?= "amd64"
+WKS_FILE = "sdimage-efi-sb-debian"

-IMAGE_FSTYPES ?= "wic"
-WKS_FILE ?= "sdimage-efi-sb-debian"
+# use bootloader with signed boot support
+IMAGER_INSTALL:remove = "${GRUB_BOOTLOADER_INSTALL}"
IMAGER_INSTALL += "${GRUB_DEBIAN_SB_CHAIN}"

# include public keys
@@ -16,10 +17,5 @@ IMAGE_INSTALL += "sb-mok-public"
IMAGER_INSTALL += "${GRUB_DEBIAN_SB_MOK}"
IMAGE_PREINSTALL += "mokutil"

-QEMU_ARCH ?= "x86_64"
-QEMU_MACHINE ?= "q35"
-QEMU_CPU ?= ""
-QEMU_DISK_ARGS ?= "-drive file=##ROOTFS_IMAGE##,format=raw -global driver=cfi.pflash01,property=secure,value=on -drive if=pflash,format=raw,unit=0,file=/usr/share/OVMF/OVMF_CODE_4M.ms.fd,readonly=on"
-
-MACHINE_SERIAL ?= "ttyS0"
-BAUDRATE_TTY ?= "115200"
+# overwrite qemu disk args for signed boot
+QEMU_DISK_ARGS = "-drive file=##ROOTFS_IMAGE##,format=raw -global driver=cfi.pflash01,property=secure,value=on -drive if=pflash,format=raw,unit=0,file=/usr/share/OVMF/OVMF_CODE_4M.ms.fd,readonly=on"
--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:51 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

Machine-related configuration should be done in machine config, so move
it from multiconfig.

Also move example-module variant selection to local.conf.sample in order
not to be applied if we don't want to install example-module.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
meta-isar/conf/local.conf.sample | 5 +++++
meta-isar/conf/machine/qemuamd64-sb.conf | 7 +++++++
meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf | 11 +----------
meta-test/conf/local.conf.sample | 4 ++++
4 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index c5d50931..c7820bdf 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -197,6 +197,11 @@ CONF_VERSION = "1"
# The default list of extra packages to be installed.
IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile hello isar-disable-apt-cache cowsay example-prebuilt"

+#
+# Machines with secure boot should use signed modules.
+IMAGE_INSTALL:remove:qemuamd64-sb = "example-module-${KERNEL_NAME}"
+IMAGE_INSTALL:append:qemuamd64-sb = "example-module-signed-${KERNEL_NAME}"
+
#
# Enable cross-compilation support
ISAR_CROSS_COMPILE ?= "0"
diff --git a/meta-isar/conf/machine/qemuamd64-sb.conf b/meta-isar/conf/machine/qemuamd64-sb.conf
index 84ef89eb..315f5c00 100644
--- a/meta-isar/conf/machine/qemuamd64-sb.conf
+++ b/meta-isar/conf/machine/qemuamd64-sb.conf
@@ -9,6 +9,13 @@ IMAGE_FSTYPES ?= "wic"
WKS_FILE ?= "sdimage-efi-sb-debian"
IMAGER_INSTALL += "${GRUB_DEBIAN_SB_CHAIN}"

+# include public keys
+IMAGE_INSTALL += "sb-mok-public"
+
+# add MOK utilities to insert MOK into EFI
+IMAGER_INSTALL += "${GRUB_DEBIAN_SB_MOK}"
+IMAGE_PREINSTALL += "mokutil"
+
QEMU_ARCH ?= "x86_64"
QEMU_MACHINE ?= "q35"
QEMU_CPU ?= ""
diff --git a/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf b/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf
index edfcf70b..85ce3a65 100644
--- a/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf
+++ b/meta-isar/conf/multiconfig/qemuamd64-sb-bullseye.conf
@@ -1,13 +1,4 @@
# This software is a part of ISAR.
+
MACHINE ?= "qemuamd64-sb"
DISTRO ?= "debian-bullseye"
-
-# include public keys
-IMAGE_INSTALL += "sb-mok-public"
-# remove unsigned example module and include signed example module
-IMAGE_INSTALL:remove = "example-module-${KERNEL_NAME}"
-IMAGE_INSTALL += "example-module-signed-${KERNEL_NAME}"
-
-# add MOK utilities to insert MOK into EFI
-IMAGER_INSTALL += "${GRUB_DEBIAN_SB_MOK}"
-IMAGE_PREINSTALL += "mokutil"
diff --git a/meta-test/conf/local.conf.sample b/meta-test/conf/local.conf.sample
index ed569c5c..a3280a5d 100644
--- a/meta-test/conf/local.conf.sample
+++ b/meta-test/conf/local.conf.sample
@@ -75,6 +75,10 @@ MIRRORS += "https?://cdn\.kernel\.org/.* https://mirrors.edge.kernel.org/PATH"
# The default list of extra packages
IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile hello isar-disable-apt-cache cowsay example-prebuilt"

+# Machines with secure boot should use signed modules
+IMAGE_INSTALL:remove:qemuamd64-sb = "example-module-${KERNEL_NAME}"
+IMAGE_INSTALL:append:qemuamd64-sb = "example-module-signed-${KERNEL_NAME}"
+
# Users and groups
USERS += "root"
USER_root[password] ??= "$6$rounds=10000$RXeWrnFmkY$DtuS/OmsAS2cCEDo0BF5qQsizIrq6jPgXnwv3PHqREJeKd1sXdHX/ayQtuQWVDHe0KIO0/sVH8dvQm1KthF0d/"
--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:51 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

Machine-related configuration should be done in machine config, so move
it from multiconfig.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
Signed-off-by: Uladzimir Bely <ub...@ilbers.de>
---
meta-isar/conf/machine/imx6-sabrelite.conf | 4 ++++
meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf | 4 ----
meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf | 4 ----
3 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/meta-isar/conf/machine/imx6-sabrelite.conf b/meta-isar/conf/machine/imx6-sabrelite.conf
index d8cb93ad..e48823d6 100644
--- a/meta-isar/conf/machine/imx6-sabrelite.conf
+++ b/meta-isar/conf/machine/imx6-sabrelite.conf
@@ -3,6 +3,10 @@
#
# SPDX-License-Identifier: MIT

+DISTRO_ARCH ?= "armhf"
+
+KERNEL_NAME ?= "armmp"
+
MACHINE_SERIAL ?= "ttymxc0"
BAUDRATE_TTY ?= "115200"

diff --git a/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf b/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
index 909eadc5..9df2cd10 100644
--- a/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
+++ b/meta-isar/conf/multiconfig/imx6-sabrelite-bullseye.conf
@@ -2,8 +2,4 @@
# Copyright (C) 2022 ilbers GmbH

MACHINE ?= "imx6-sabrelite"
-
DISTRO ?= "debian-bullseye"
-DISTRO_ARCH ?= "armhf"
-
-KERNEL_NAME ?= "armmp"
diff --git a/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf b/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
index 54aed3e6..262a6615 100644
--- a/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
+++ b/meta-isar/conf/multiconfig/imx6-sabrelite-buster.conf
@@ -4,8 +4,4 @@
# SPDX-License-Identifier: MIT

MACHINE ?= "imx6-sabrelite"
-
DISTRO ?= "debian-buster"
-DISTRO_ARCH ?= "armhf"
-
-KERNEL_NAME ?= "armmp"
--
2.20.1

Uladzimir Bely

unread,
Jun 20, 2023, 2:05:51 AM6/20/23
to isar-...@googlegroups.com
From: Anton Mikanovich <ami...@ilbers.de>

Make all the multiconfigs be configured in the same way.

Signed-off-by: Anton Mikanovich <ami...@ilbers.de>
---
meta-isar/conf/multiconfig/bananapi-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/bananapi-buster.conf | 4 ++--
meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/de0-nano-soc-buster.conf | 4 ++--
meta-isar/conf/multiconfig/hikey-bookworm.conf | 4 ++--
meta-isar/conf/multiconfig/hikey-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/nanopi-neo-buster.conf | 4 ++--
meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf | 4 ++--
.../conf/multiconfig/starfive-visionfive2-sid-ports.conf | 4 ++--
meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf | 4 ++--
meta-isar/conf/multiconfig/stm32mp15x-buster.conf | 4 ++--
meta-isar/conf/multiconfig/virtualbox-bullseye.conf | 5 ++---
13 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/meta-isar/conf/multiconfig/bananapi-bullseye.conf b/meta-isar/conf/multiconfig/bananapi-bullseye.conf
index 35c5a246..9bbc1982 100644
--- a/meta-isar/conf/multiconfig/bananapi-bullseye.conf
+++ b/meta-isar/conf/multiconfig/bananapi-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "bananapi"
-DISTRO = "debian-bullseye"
+MACHINE ?= "bananapi"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/bananapi-buster.conf b/meta-isar/conf/multiconfig/bananapi-buster.conf
index 6262a077..8130e72c 100644
--- a/meta-isar/conf/multiconfig/bananapi-buster.conf
+++ b/meta-isar/conf/multiconfig/bananapi-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "bananapi"
-DISTRO = "debian-buster"
+MACHINE ?= "bananapi"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf b/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf
index 9473d395..e1ba4d85 100644
--- a/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf
+++ b/meta-isar/conf/multiconfig/de0-nano-soc-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "de0-nano-soc"
-DISTRO = "debian-bullseye"
+MACHINE ?= "de0-nano-soc"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf b/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf
index 0584d193..dd16568c 100644
--- a/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf
+++ b/meta-isar/conf/multiconfig/de0-nano-soc-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "de0-nano-soc"
-DISTRO = "debian-buster"
+MACHINE ?= "de0-nano-soc"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/hikey-bookworm.conf b/meta-isar/conf/multiconfig/hikey-bookworm.conf
index 671b1f77..71268a58 100644
--- a/meta-isar/conf/multiconfig/hikey-bookworm.conf
+++ b/meta-isar/conf/multiconfig/hikey-bookworm.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "hikey"
-DISTRO = "debian-bookworm"
+MACHINE ?= "hikey"
+DISTRO ?= "debian-bookworm"
diff --git a/meta-isar/conf/multiconfig/hikey-bullseye.conf b/meta-isar/conf/multiconfig/hikey-bullseye.conf
index 33ed3a3c..c7465a2b 100644
--- a/meta-isar/conf/multiconfig/hikey-bullseye.conf
+++ b/meta-isar/conf/multiconfig/hikey-bullseye.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "hikey"
-DISTRO = "debian-bullseye"
+MACHINE ?= "hikey"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf b/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf
index 54a582c1..0ce915b0 100644
--- a/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf
+++ b/meta-isar/conf/multiconfig/nanopi-neo-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "nanopi-neo"
-DISTRO = "debian-bullseye"
+MACHINE ?= "nanopi-neo"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/nanopi-neo-buster.conf b/meta-isar/conf/multiconfig/nanopi-neo-buster.conf
index 3f54c0c1..34a440d4 100644
--- a/meta-isar/conf/multiconfig/nanopi-neo-buster.conf
+++ b/meta-isar/conf/multiconfig/nanopi-neo-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "nanopi-neo"
-DISTRO = "debian-buster"
+MACHINE ?= "nanopi-neo"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
index e4e0248c..313032ef 100644
--- a/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
+++ b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "sifive-fu540"
-DISTRO = "debian-sid-ports"
+MACHINE ?= "sifive-fu540"
+DISTRO ?= "debian-sid-ports"
diff --git a/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf b/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf
index 98c9534a..ee42ab4d 100644
--- a/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf
+++ b/meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "starfive-visionfive2"
-DISTRO = "debian-sid-ports"
+MACHINE ?= "starfive-visionfive2"
+DISTRO ?= "debian-sid-ports"
diff --git a/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf b/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf
index 7cbff12a..9932210c 100644
--- a/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf
+++ b/meta-isar/conf/multiconfig/stm32mp15x-bullseye.conf
@@ -1,5 +1,5 @@
# This software is a part of ISAR.
# Copyright (C) 2022 ilbers GmbH

-MACHINE = "stm32mp15x"
-DISTRO = "debian-bullseye"
+MACHINE ?= "stm32mp15x"
+DISTRO ?= "debian-bullseye"
diff --git a/meta-isar/conf/multiconfig/stm32mp15x-buster.conf b/meta-isar/conf/multiconfig/stm32mp15x-buster.conf
index d1b76d0f..01caf876 100644
--- a/meta-isar/conf/multiconfig/stm32mp15x-buster.conf
+++ b/meta-isar/conf/multiconfig/stm32mp15x-buster.conf
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

-MACHINE = "stm32mp15x"
-DISTRO = "debian-buster"
+MACHINE ?= "stm32mp15x"
+DISTRO ?= "debian-buster"
diff --git a/meta-isar/conf/multiconfig/virtualbox-bullseye.conf b/meta-isar/conf/multiconfig/virtualbox-bullseye.conf
index 90bb17e5..e7e2d50a 100644
--- a/meta-isar/conf/multiconfig/virtualbox-bullseye.conf
+++ b/meta-isar/conf/multiconfig/virtualbox-bullseye.conf
@@ -3,6 +3,5 @@
#
# SPDX-License-Identifier: MIT

Henning Schild

unread,
Jun 21, 2023, 9:49:47 AM6/21/23
to Uladzimir Bely, isar-...@googlegroups.com
Am Tue, 20 Jun 2023 08:05:32 +0200
schrieb Uladzimir Bely <ub...@ilbers.de>:

> There are a lot of hacks in Isar are used by testsuite only. Some of
> them even cause variable setting issues for users. To prevent this
> kind of issues introduce separate meta-test layer to be used by
> testsuite only.

I always disliked all the QEMU_ variables in the machine configs.
Because they are really only relevant for isar ci and whether they
should be written down in bitbake is questionable, now that we clean up
i recommend moving that out as well.

Henning

Uladzimir Bely

unread,
Jun 27, 2023, 1:21:11 AM6/27/23
to Henning Schild, isar-...@googlegroups.com
On Wed, 2023-06-21 at 15:49 +0200, Henning Schild wrote:
> Am Tue, 20 Jun 2023 08:05:32 +0200
> schrieb Uladzimir Bely <ub...@ilbers.de>:
>
> > There are a lot of hacks in Isar are used by testsuite only. Some
> > of
> > them even cause variable setting issues for users. To prevent this
> > kind of issues introduce separate meta-test layer to be used by
> > testsuite only.
>
> I always disliked all the QEMU_ variables in the machine configs.
> Because they are really only relevant for isar ci and whether they
> should be written down in bitbake is questionable, now that we clean
> up
> i recommend moving that out as well.
>

AEMU_ variables are not only used for CI, but also for manual running
the compiled image (scripts/start_vm or testsuite/start_vm.py). At
least, having them in machine configs means having an example of qemu
run arguments, even if used won't use the scripts.

I would say, we should have in machine configs everything we need to
successfully compile and boot the image (similar to installing uboot-
related packages for some hardware targets).

Uladzimir Bely

unread,
Jun 27, 2023, 1:32:30 AM6/27/23
to isar-...@googlegroups.com
Applied to next.

Cleanup of qemu machine configs from QEMU_* run options might be done
separately, if needed.
Reply all
Reply to author
Forward
0 new messages