[RFC PATCH 0/3] Create uniform manifest file

4 views
Skip to first unread message

Felix Moessbauer

unread,
Oct 10, 2025, 11:12:24 AM (5 days ago) Oct 10
to isar-...@googlegroups.com, christop...@siemens.com, cedric.h...@siemens.com, quirin.g...@siemens.com, jan.k...@siemens.com, Felix Moessbauer
The .manifest file contains the list of installed packages, along with their
binary -> source package relations. We recently added support to generate
the manifest also for an external initrd rootfs, however support for the
imager was still missing.

This series adds this support and also creates a uniform manifest file for
all components in the .wic image. As the imager dependencies cannot be
tracked precisely in an automated way (the IMAGER_INSTALL contains tooling
as well as artifacts which are copied into the image), we add a new variable
IMAGER_BOM to define the set of packages that should end up in the BOM.

The RFC implements this support for the .manifest file. Later on, a similar
approach can be implemented for the SBOM.

Best regards,
Felix Moessbauer
Siemens AG

Felix Moessbauer (3):
Add support to add imager dependencies to BOM
wic: create uniform manifest describing all image components
qemuamd64: add IMAGER_BOM entries

doc/user_manual.md | 1 +
meta-isar/conf/machine/qemuamd64.conf | 1 +
meta/classes/image-tools-extension.bbclass | 7 +++++++
meta/classes/image.bbclass | 6 ++++++
meta/classes/imagetypes_wic.bbclass | 4 ++++
5 files changed, 19 insertions(+)

--
2.51.0

Felix Moessbauer

unread,
Oct 10, 2025, 11:12:25 AM (5 days ago) Oct 10
to isar-...@googlegroups.com, christop...@siemens.com, cedric.h...@siemens.com, quirin.g...@siemens.com, jan.k...@siemens.com, Felix Moessbauer
A wic image consists of potentially many different components. All these
should be covered by a single BOM.

After creating the wic image, we collect the individual manifest files
(rootfs, initrd, imaging), deduplicate it and deploy it into the image
deploy dir (as .wic.manifest).

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
meta/classes/imagetypes_wic.bbclass | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/meta/classes/imagetypes_wic.bbclass b/meta/classes/imagetypes_wic.bbclass
index fb0b81a9..f052f943 100644
--- a/meta/classes/imagetypes_wic.bbclass
+++ b/meta/classes/imagetypes_wic.bbclass
@@ -195,5 +195,9 @@ EOIMAGER

sudo chown -R $(stat -c "%U" ${LAYERDIR_core}) ${LAYERDIR_core} ${LAYERDIR_isar} ${SCRIPTSDIR} || true
sudo chown -R $(id -u):$(id -g) "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic"*
+ cat ${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.manifest \
+ ${DEPLOY_DIR_IMAGE}/${INITRD_DEPLOY_FILE}.manifest \
+ ${WORKDIR}/imager.manifest 2>/dev/null \
+ | sort | uniq > "${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.wic.manifest"
rm -rf ${IMAGE_ROOTFS}/../pseudo
}
--
2.51.0

Felix Moessbauer

unread,
Oct 10, 2025, 11:12:29 AM (5 days ago) Oct 10
to isar-...@googlegroups.com, christop...@siemens.com, cedric.h...@siemens.com, quirin.g...@siemens.com, jan.k...@siemens.com, Felix Moessbauer
To give an example how to add components to the imager BOM, we set the
corresponding variable for the qemuamd64 target.

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
meta-isar/conf/machine/qemuamd64.conf | 1 +
1 file changed, 1 insertion(+)

diff --git a/meta-isar/conf/machine/qemuamd64.conf b/meta-isar/conf/machine/qemuamd64.conf
index 7d5987c6..8d0753a8 100644
--- a/meta-isar/conf/machine/qemuamd64.conf
+++ b/meta-isar/conf/machine/qemuamd64.conf
@@ -7,6 +7,7 @@ KERNEL_NAME ?= "amd64"

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

QEMU_ARCH ?= "x86_64"
--
2.51.0

Reply all
Reply to author
Forward
0 new messages