* [PATCH v2 1/2] image-postproc: ignore systemd preset failures
@ 2026-01-13 14:48 'Badrikesh Prusty' via isar-users
2026-01-13 14:48 ` [PATCH v2 2/2] image: make populate-systemd-preset opt-in 'Badrikesh Prusty' via isar-users
2026-01-13 14:55 ` [PATCH v2 1/2] image-postproc: ignore systemd preset failures 'Florian Bezdeka' via isar-users
0 siblings, 2 replies; 5+ messages in thread
From: 'Badrikesh Prusty' via isar-users @ 2026-01-13 14:48 UTC (permalink / raw)
To: isar-users; +Cc: alexander.heinisch, felix.moessbauer, Badrikesh Prusty
Add '|| true' to systemd preset invocation during image postprocessing
to tolerate failures caused by already-masked units.
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..ef3ddb84 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 --preset-mode="enable-only" || 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/20260113144832.3231870-1-badrikesh.prusty%40siemens.com.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] image: make populate-systemd-preset opt-in
2026-01-13 14:48 [PATCH v2 1/2] image-postproc: ignore systemd preset failures 'Badrikesh Prusty' via isar-users
@ 2026-01-13 14:48 ` 'Badrikesh Prusty' via isar-users
2026-01-14 9:46 ` 'Heinisch, Alexander' via isar-users
2026-01-13 14:55 ` [PATCH v2 1/2] image-postproc: ignore systemd preset failures 'Florian Bezdeka' via isar-users
1 sibling, 1 reply; 5+ messages in thread
From: 'Badrikesh Prusty' via isar-users @ 2026-01-13 14:48 UTC (permalink / raw)
To: isar-users; +Cc: alexander.heinisch, felix.moessbauer, Badrikesh Prusty
Disable running populate-systemd-preset at build time by default.
Although systemd runs enable-only presets at first boot, running this
step during image creation changes the enabled state of units before
systemd’s first-boot logic runs, ignores disable rules, and can cause
some services to fail during runtime.
Downstream users can opt in when preset population is required.
Opt-in:
ROOTFS_FEATURES:append = " populate-systemd-preset"
Signed-off-by: Badrikesh Prusty <badrikesh.prusty@siemens.com>
---
RECIPE-API-CHANGELOG.md | 14 ++++++++++++++
meta/classes-recipe/image.bbclass | 1 -
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index 0bad8a44..46c8c905 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -962,3 +962,17 @@ INSTALLER_UNATTENDED_ABORT_ENABLE = "1"
# Optional: set countdown timeout in seconds (default 5)
INSTALLER_UNATTENDED_ABORT_TIMEOUT = "5"
```
+
+### Make populate-systemd-preset opt-in
+
+Running populate-systemd-preset at build time is disabled by default.
+Although systemd runs enable-only presets by default at first boot,
+running this step at build time changes the enabled state of units
+before systemd’s first-boot logic runs, ignores disable rules, and
+can cause some services to fail during runtime.
+
+Downstream users can explicitly enable this feature when preset
+population is required during image creation.
+
+Opt-in:
+ ROOTFS_FEATURES:append = " populate-systemd-preset"
diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass
index e605bc80..47ed068d 100644
--- a/meta/classes-recipe/image.bbclass
+++ b/meta/classes-recipe/image.bbclass
@@ -101,7 +101,6 @@ ROOTFS_FEATURES += "\
export-dpkg-status \
clean-log-files \
clean-debconf-cache \
- populate-systemd-preset \
generate-sbom \
"
ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${@isar_multiarch_packages('IMAGE_INSTALL', d)}"
--
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/20260113144832.3231870-2-badrikesh.prusty%40siemens.com.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] image-postproc: ignore systemd preset failures
2026-01-13 14:48 [PATCH v2 1/2] image-postproc: ignore systemd preset failures 'Badrikesh Prusty' via isar-users
2026-01-13 14:48 ` [PATCH v2 2/2] image: make populate-systemd-preset opt-in 'Badrikesh Prusty' via isar-users
@ 2026-01-13 14:55 ` 'Florian Bezdeka' via isar-users
2026-01-13 15:13 ` 'Badrikesh Prusty' via isar-users
1 sibling, 1 reply; 5+ messages in thread
From: 'Florian Bezdeka' via isar-users @ 2026-01-13 14:55 UTC (permalink / raw)
To: Badrikesh Prusty, isar-users; +Cc: alexander.heinisch, felix.moessbauer
On Tue, 2026-01-13 at 09:48 -0500, 'Badrikesh Prusty' via isar-users
wrote:
> Add '|| true' to systemd preset invocation during image postprocessing
> to tolerate failures caused by already-masked units.
Hm. It's an assumption that this can only fail because of already-masked
units, no? Looking at the implementation below it looks more like that
we hide any error now.
>
> 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..ef3ddb84 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 --preset-mode="enable-only" || 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/20260113144832.3231870-1-badrikesh.prusty%40siemens.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/195b950564b846dfac8fe4772f76bb38b8eeef6a.camel%40siemens.com.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] image-postproc: ignore systemd preset failures
2026-01-13 14:55 ` [PATCH v2 1/2] image-postproc: ignore systemd preset failures 'Florian Bezdeka' via isar-users
@ 2026-01-13 15:13 ` 'Badrikesh Prusty' via isar-users
0 siblings, 0 replies; 5+ messages in thread
From: 'Badrikesh Prusty' via isar-users @ 2026-01-13 15:13 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 2605 bytes --]
Hi,
>> Hm. It's an assumption that this can only fail because of already-masked
>> units, no? Looking at the implementation below it looks more like that
>> we hide any error now.
>>
Definitely not just an assumption, that’s one concrete reason among others.
For example, I have a package that runs `systemctl mask <service>` in its
postinst script of a package getting installed to rootfs during the
rootfs_install
task. When the image postprocessing runs `systemctl preset ....` , it fails
because it tries to enable that masked service.
Thanks,
Badrikesh
On Tuesday, January 13, 2026 at 8:25:17 PM UTC+5:30 Florian Bezdeka wrote:
> On Tue, 2026-01-13 at 09:48 -0500, 'Badrikesh Prusty' via isar-users
> wrote:
> > Add '|| true' to systemd preset invocation during image postprocessing
> > to tolerate failures caused by already-masked units.
>
> Hm. It's an assumption that this can only fail because of already-masked
> units, no? Looking at the implementation below it looks more like that
> we hide any error now.
>
> >
> > Signed-off-by: Badrikesh Prusty <badrikes...@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..ef3ddb84 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
> --preset-mode="enable-only" || 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+...@googlegroups.com.
> > To view this discussion visit
> https://groups.google.com/d/msgid/isar-users/20260113144832.3231870-1-badrikesh.prusty%40siemens.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/0e282996-91a7-4c2c-92b8-d00550eb1dben%40googlegroups.com.
[-- Attachment #1.2: Type: text/html, Size: 3978 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] image: make populate-systemd-preset opt-in
2026-01-13 14:48 ` [PATCH v2 2/2] image: make populate-systemd-preset opt-in 'Badrikesh Prusty' via isar-users
@ 2026-01-14 9:46 ` 'Heinisch, Alexander' via isar-users
0 siblings, 0 replies; 5+ messages in thread
From: 'Heinisch, Alexander' via isar-users @ 2026-01-14 9:46 UTC (permalink / raw)
To: Prusty, Badrikesh, isar-users; +Cc: MOESSBAUER, Felix
On Tue, 2026-01-13 at 09:48 -0500, Badrikesh Prusty wrote:
> Disable running populate-systemd-preset at build time by default.
> Although systemd runs enable-only presets at first boot, running this
> step during image creation changes the enabled state of units before
> systemd’s first-boot logic runs,
Why is this a problem? The reasons why to have services prepopulated
are listed here [1].
> ignores disable rules, and can cause
...as is the case with current systemd
> some services to fail during runtime.
What's the difference compared to enabling on first-boot?
>
> Downstream users can opt in when preset population is required.
Imo, having the pre population enabled seems to me a propper default.
If downstream has issues with the prepopulation, for some reason (maybe
you can clarify based on concrete cases) then you always can opt-out
via: ROOTFS_FEATURES:remove = "populate-systemd-preset"
Initially your V1 was about not only enabling but also disabling
services in the postprocessing. What caused the change to neither
populate enabled nor disabled units? As above, maybe a concrete example
helps to understand your requirements.
BR Alexander
1:
https://github.com/ilbers/isar/blob/master/RECIPE-API-CHANGELOG.md#populate-systemd-units-based-on-presets-during-image-postprocessing
>
> Opt-in:
> ROOTFS_FEATURES:append = " populate-systemd-preset"
>
> Signed-off-by: Badrikesh Prusty <badrikesh.prusty@siemens.com>
> ---
> RECIPE-API-CHANGELOG.md | 14 ++++++++++++++
> meta/classes-recipe/image.bbclass | 1 -
> 2 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
> index 0bad8a44..46c8c905 100644
> --- a/RECIPE-API-CHANGELOG.md
> +++ b/RECIPE-API-CHANGELOG.md
> @@ -962,3 +962,17 @@ INSTALLER_UNATTENDED_ABORT_ENABLE = "1"
> # Optional: set countdown timeout in seconds (default 5)
> INSTALLER_UNATTENDED_ABORT_TIMEOUT = "5"
> ```
> +
> +### Make populate-systemd-preset opt-in
> +
> +Running populate-systemd-preset at build time is disabled by
> default.
> +Although systemd runs enable-only presets by default at first boot,
> +running this step at build time changes the enabled state of units
> +before systemd’s first-boot logic runs, ignores disable rules, and
> +can cause some services to fail during runtime.
> +
> +Downstream users can explicitly enable this feature when preset
> +population is required during image creation.
> +
> +Opt-in:
> + ROOTFS_FEATURES:append = " populate-systemd-preset"
> diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-
> recipe/image.bbclass
> index e605bc80..47ed068d 100644
> --- a/meta/classes-recipe/image.bbclass
> +++ b/meta/classes-recipe/image.bbclass
> @@ -101,7 +101,6 @@ ROOTFS_FEATURES += "\
> export-dpkg-status \
> clean-log-files \
> clean-debconf-cache \
> - populate-systemd-preset \
> generate-sbom \
> "
> ROOTFS_PACKAGES += "${IMAGE_PREINSTALL}
> ${@isar_multiarch_packages('IMAGE_INSTALL', d)}"
--
Alexander Heinisch
Siemens AG
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/04627060deedab9bb4b88a4b066027ae78f89cc8.camel%40siemens.com.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-01-14 9:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-13 14:48 [PATCH v2 1/2] image-postproc: ignore systemd preset failures 'Badrikesh Prusty' via isar-users
2026-01-13 14:48 ` [PATCH v2 2/2] image: make populate-systemd-preset opt-in 'Badrikesh Prusty' via isar-users
2026-01-14 9:46 ` 'Heinisch, Alexander' via isar-users
2026-01-13 14:55 ` [PATCH v2 1/2] image-postproc: ignore systemd preset failures 'Florian Bezdeka' via isar-users
2026-01-13 15:13 ` 'Badrikesh Prusty' via isar-users
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox