Open Werkov opened 10 months ago
you can export YAST_IS_RUNNING=instsys
when building images to avoid running certain scriptlets. If you want the package to update systemd-boot, you can set SYSTEMD_ESP_PATH
Thanks, the YAST_IS_RUNNING
variable does the trick (on my local invocation).
mkosi
builds UKI images out of band and systemd-boot picks them. So I don't necessarily need the explicit update.
However, to have a smooth install, I tried specifying SYSTEMD_ESP_PATH
inside the build container, however, it would fail at check:
170/173) Installing: dracut-059+suse.533.g5a7cf9fa-1.1.x86_64 .............................................................................................................................................................................................................[done]
warning: /home/mkoutny/projects/systemd-pidstore/mkosi.cache/zypp/packages/repo-oss/x86_64/sdbootutil-1+git20231214.b186b2d-1.1.x86_64.rpm: Header V3 RSA/SHA512 Signature, key ID 29b700a4: NOKEY
Error: mismatch of esp path
warning: %transfiletriggerin(sdbootutil-1+git20231214.b186b2d-1.1.x86_64) scriptlet failed, exit status 1
(171/173) Installing: sdbootutil-1+git20231214.b186b2d-1.1.x86_64 ..........................................................................................................................................................................................................[done]
warning: /home/mkoutny/projects/systemd-pidstore/mkosi.cache/zypp/packages/repo-oss/x86_64/sdbootutil-rpm-scriptlets-1+git20231214.b186b2d-1.1.x86_64.rpm: Header V3 RSA/SHA512 Signature, key ID 29b700a4: NOKEY
(172/173) Installing: sdbootutil-rpm-scriptlets-1+git20231214.b186b2d-1.1.x86_64 ...........................................................................................................................................................................................[done]
warning: /home/mkoutny/projects/systemd-pidstore/mkosi.cache/zypp/packages/repo-oss/x86_64/kernel-kvmsmall-6.6.7-1.1.x86_64.rpm: Header V3 RSA/SHA512 Signature, key ID 29b700a4: NOKEY
Error: mismatch of esp path
Error: mismatch of esp path
(173/173) Installing: kernel-kvmsmall-6.6.7-1.1.x86_64 .....................................................................................................................................................................................................................[done]
That check seems too strict inside image builds.
Also, the zypper output looks like the triggers when triggered by kernel-kvmsmall
won't cause a non-zero exit code, while it is somehow triggered at installation of sdbootutil
where it apparently propagates into the exit code.
Could this be zypper triggers bug afterall?
Not sure how that error message happens. bootctl is supposed to use SYSTEMD_ESP_PATH and sdbootutil checks whether it actually reports that path in it's output. If bootctl doesn't honor SYSTEMD_ESP_PATH it means the path e.g. doesn't exist. I'd expect an error message in that case though: https://github.com/systemd/systemd/blob/main/src/shared/find-esp.c#L489
I use mkosi when hacking systemd (in order to build an image to run in qemu/systemd-nspawn).
My build fails at command:
Exit code 107 -
ZYPPER_EXIT_INF_RPM_SCRIPT_FAILED
points me toI believe a change in 6bcf1d3..b186b2d caused the issue since the image with former version of sdbootutil builds fine. It points to the newly added transfiletriggerin (in 8f4c552c274301341399605048ac1a68cb3c22f0).
I can't (b)wrap my head around it, more questions than answers:
worksoutputs no$BOOT=
line in "Boot Loader Entries" section, this is during the build process, not inside qemu, the invocation on the host lists the$BOOT=
linemanual invocation(I may have been in a wrong "container")sdbootutil update
fails with "Error: Can't determine root subvolume" thoughInterestingly, systemd Github CI succeeds (the difference is that the build-host is Ubuntu, not openSUSE Tumbleweed (my host) and it uses dnf instead of zypper to roll out RPMs).