From: "'Prusty, Badrikesh' via isar-users" <isar-users@googlegroups.com>
To: "Heinisch, Alexander" <alexander.heinisch@siemens.com>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>,
"MOESSBAUER, Felix" <felix.moessbauer@siemens.com>
Subject: Re: [PATCH] image-postproc: apply all systemd preset rules and ignore failures
Date: Mon, 15 Dec 2025 13:58:57 +0000 [thread overview]
Message-ID: <SG2PR06MB5107E12994821DDF3B9F34B191ADA@SG2PR06MB5107.apcprd06.prod.outlook.com> (raw)
In-Reply-To: <a1ccb0ec87f9c4e99576744fa833650e2db2ce78.camel@siemens.com>
Hi Felix / Alex,
Thanks for review.
> is this change in sync regarding what Debian does during installation?
Debian does not run `systemctl preset-all` automatically at the end of the OS installation.
The systemd manpage in Debian states that on the first boot, systemd will enable or disable
services according to preset policy, similar to running `systemctl preset-all`.
Reference: https://manpages.debian.org/bookworm/systemd/systemd.preset.5.en.html
> Enabling additional services should be fine in general, but disabling
> bears some risk in case packages that otherwise only enable services
> via symlink in /etc get disabled again.
Yes, the point is correct and, but here `systemctl preset-all` would only apply according
to the rules defined in /usr/lib/systemd/system-preset/*.preset (or /etc/systemd/system-preset/),
not to all services.
The other issue I encountered was with a custom preset rule. For example,
I created a preset file 90-no-reboot.preset containing the following rule:
```
disable ctrl-alt-del.target
```
When running `systemctl preset-all --preset-mode=enable-only` this rule is ignored,
and enabled ctrl-alt-del.target (i.e., gets symlinked to reboot.target). However, running
`systemctl preset-all` without specifying `--preset-mode` (i.e., the default full mode)
correctly applies the preset and disables ctrl-alt-del.target.
Thank you,
Badrikesh
________________________________________
From: Heinisch, Alexander (FT RPD CED SES-AT) <alexander.heinisch@siemens.com>
Sent: 15 December 2025 17:20
To: Prusty, Badrikesh (FT FDS CES LX PBU 2); isar-users@googlegroups.com; Moessbauer, Felix (FT RPD CED OES-DE)
Subject: Re: [PATCH] image-postproc: apply all systemd preset rules and ignore failures
On Mon, 2025-12-15 at 07:31 +0000, Moessbauer, Felix (FT RPD CED OES-
DE) wrote:
> On Fri, 2025-12-12 at 00:32 -0500, 'Badrikesh Prusty' via isar-users
> wrote:
> > Update image postprocessing to run 'systemctl preset-all' without
> > restricting to '--preset-mode=enable-only', so that both enable and
> > disable rules from systemd preset files are applied.
> >
> > Add '|| true' to ignore failures from already masked units set by
> > package post-install scripts during rootfs_install tasks.
>
> Hi,
>
> is this change in sync regarding what Debian does during
> installation?
> Enabling additional services should be fine in general, but disabling
> bears some risk in case packages that otherwise only enable services
> via symlink in /etc get disabled again.
>
Before I introduced this postprocessing step some services got enabled
on first boot which was not reflected in the images rootfs after build.
So the idea was to align the build artifacts to what was actually
running on the system. (and by that supporting ro /usr + /etc systems)
Systemd back then (and afaik as of now) on first boot only populates
the presets with flag --enable-only.
One can change this behavior with compile time flag -Dfirst-boot-full-
preset which seems not to be the case.
Imo, disabling services during the postprocessing changes the image in
an unexpected way (as this does not happen by default on the running
system). At least such feature should be opt-in. Also a note about this
change should be put in the RECIPE-API-CHANGELOG.md
BR Alexander
> Do you know if this topic has already been discussed in upstream
> Debian?
>
> +CC Alexander
>
> Felix
>
> >
> > Signed-off-by: Badrikesh Prusty <badrikesh.prusty@siemens.com>
> > ---
> > meta/classes-recipe/rootfs.bbclass | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-
> > recipe/rootfs.bbclass
> > index 8485b32f..7e79bb8e 100644
> > --- a/meta/classes-recipe/rootfs.bbclass
> > +++ b/meta/classes-recipe/rootfs.bbclass
> > @@ -574,7 +574,7 @@ image_postprocess_populate_systemd_preset() {
> > --show systemd || echo "" )
> >
> > if (test "$SYSTEMD_INSTALLED" = "installed"); then
> > - sudo chroot '${ROOTFSDIR}' systemctl preset-all --preset-
> > mode="enable-only"
> > + sudo chroot '${ROOTFSDIR}' systemctl preset-all || true
> > fi
> > }
> >
> > --
> > 2.47.3
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "isar-users" group.
> > To unsubscribe from this group and stop receiving emails from it,
> > send an email to isar-users+unsubscribe@googlegroups.com.
> > To view this discussion visit
> > https://groups.google.com/d/msgid/isar-users/20251212053214.80936-1-badrikesh.prusty%40siemens.com
> > .
--
Alexander Heinisch
Siemens AG
http://www.siemens.com/
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/SG2PR06MB5107E12994821DDF3B9F34B191ADA%40SG2PR06MB5107.apcprd06.prod.outlook.com.
next prev parent reply other threads:[~2025-12-15 13:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-12 5:32 'Badrikesh Prusty' via isar-users
2025-12-15 7:31 ` 'MOESSBAUER, Felix' via isar-users
2025-12-15 11:50 ` 'Heinisch, Alexander' via isar-users
2025-12-15 13:58 ` 'Prusty, Badrikesh' via isar-users [this message]
2025-12-16 2:32 ` 'Prusty, Badrikesh' via isar-users
2025-12-16 9:17 ` 'Heinisch, Alexander' via isar-users
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=SG2PR06MB5107E12994821DDF3B9F34B191ADA@SG2PR06MB5107.apcprd06.prod.outlook.com \
--to=isar-users@googlegroups.com \
--cc=alexander.heinisch@siemens.com \
--cc=badrikesh.prusty@siemens.com \
--cc=felix.moessbauer@siemens.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox