From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: johannes.schneider@leica-geosystems.com
Cc: openembedded-core@lists.openembedded.org,
richard.purdie@linuxfoundation.org, alex.kanavin@gmail.com
Subject: Re: [OE-core] [PATCH v5 0/3] pkg-database and systemd-sysext image
Date: Fri, 12 Apr 2024 23:58:18 +0200 [thread overview]
Message-ID: <20240412215818ec4e64de@mail.local> (raw)
In-Reply-To: <20240410071827.4099903-1-johannes.schneider@leica-geosystems.com>
On 10/04/2024 09:18:24+0200, Johannes Schneider via lists.openembedded.org wrote:
> systemd-sysext allows to overlay another image (or multiple) ontop of
> a "base-image" = the current rootfs, via the use of overlayfs; to add
> tools and features meant for development purposes.
>
> To quote the documentation on systemd-sysext:
> " ...addition in order to make debugging/development easier). System
> extension images should not be misunderstood as a generic software
> packaging framework, ..."
>
> To build a lean image, that only holds packages that are not already
> part of the base-image, a snapshot of the package-database is taken
> after the installation of the base-rootfs is done, and picked up again
> when collecting the rootfs of such a extension image.
>
> with all this in place an example usage could look like this:
> some-core-image.bb
> inherit core-image
> IMAGE_GEN_PKGDBFS = "1"
>
> extending-image.bb
> inherit image-sysext
> IMAGE_FSTYPES = "squashfs"
> IMAGE_BASE_PKGDB = "some-core-image"
> # the above pointing at a package-db similar to:
> # build/deploy/images/$MACHINE/some-core-image-$MACHINE-20240210172305-pkgdb.rootfs.tar.gz
>
> then on the device, running some-core-image, with the extension image placed at FN:
> $> ln -s "$FN" /run/extensions/$(basename $FN).raw
> $> systemd-sysext list
> $> SYSTEMD_LOG_LEVEL=debug systemd-sysext merge
>
> As long as the VERSION_ID of the extension image matches the os-release
> in the base image, the above commands return sucessfully;
> for details on the compativility check see the docs for systemd-sysext.
>
> =========
>
> changes with v2:
> rebase from 'kirkstone' onto 'master'
>
> changes with v3:
> incorporate review suggestions for simplification
> add task dependency handling
> add oe-selftest for the pkgdb handling
> add variable documentation and
> some more comments, and examples in the commit-msg
>
> changes with v4:
> rebase onto 'master' => no functional changes
> fixed patchtest findings
>
> changes with v5:
> rebase onto 'master'
> add '.sysext' to the deployed symlink name
> sidenote on the tests and autobuilder failure: run locally they succeed, e.g.:
> #> oe-selftest --verbose -r imagefeatures.ImageFeatures.test_image_gen_pkgdbfs
This still fails on the autobuilders:
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6639/steps/14/logs/stdio
2024-04-12 13:58:27,614 - oe-selftest - INFO - 6: 20/46 442/588 (108.93s) (0 failed) (imagefeatures.ImageFeatures.test_image_gen_pkgdbfs)
2024-04-12 13:58:27,614 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
File "/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/meta/lib/oeqa/selftest/cases/imagefeatures.py", line 327, in test_image_gen_pkgdbfs
self.assertTrue(os.path.exists(os.path.join(img_vars['DEPLOY_DIR_IMAGE'], 'var/lib/opkg/status')), 'opkg\'s status file was not present in: %s' % tar_file)
File "/usr/lib/python3.11/unittest/case.py", line 715, in assertTrue
raise self.failureException(msg)
AssertionError: False is not true : opkg's status file was not present in: /home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/build-st-3521802/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.rootfs-pkgdb.tar.gz
You can fnd the content of auto.conf here: https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6639/steps/13/logs/stdio
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#198080): https://lists.openembedded.org/g/openembedded-core/message/198080
> Mute This Topic: https://lists.openembedded.org/mt/105437784/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
prev parent reply other threads:[~2024-04-12 21:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-10 7:18 [PATCH v5 0/3] pkg-database and systemd-sysext image Johannes Schneider
2024-04-10 7:18 ` [PATCH v5 1/3] image.bbclass/rootfs: archive and deploy package database Johannes Schneider
2024-04-10 7:18 ` [PATCH v5 2/3] image.bbclass/rootfs: set and unpack package-database Johannes Schneider
2024-04-10 7:18 ` [PATCH v5 3/3] classes: add a systemd-sysext image class Johannes Schneider
2024-04-12 21:58 ` Alexandre Belloni [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240412215818ec4e64de@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=alex.kanavin@gmail.com \
--cc=johannes.schneider@leica-geosystems.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.