Yesterday I created a standard mkosi image locally in a Fedora 43 toolbox, according to the README.md:
mkosi.local.conf:
[Distribution]
Distribution=fedora
[Config]
Profiles=
This worked fine. I booted it with mkosi vm (qemu runner, as --vmm vmspawn fails in toolbx). Now I wanted to test upgrades, as per README.md: I cloned mkosi and particleos inside the VM, scp'ed in mkosi.{key,crt,mkosi.local.conf}, and ran
~/mkosi/bin/mkosi -B -ff sysupdate -- update --reboot
This built the image alright, but then failed on the deployment part:
[...]
‣ [main] Extracting partitions
Automatically determined minimal disk image size as 1.8G, current block device/image size is 1.8G.
File '/work/home/particleos/.cache/mkosi/mkosi-workspace-mxfid8aj/staging/ParticleOS_20260514060621_x86-64.raw' already is of requested size or larger, not growing. (1.8G >= 1.8G)
No changes.
‣ [main] Saving manifest ParticleOS_20260514060621_x86-64.manifest
‣ [main] /home/particleos/particleos/mkosi.output/ParticleOS_20260514060621_x86-64.raw size is 1.9G, consumes 572.7M.
‣ [main] Wrote new version 20260514060621 to /home/particleos/particleos/mkosi.version
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start transient unit 'run-p13046-i7829.service'.
Authenticating as: particleos
polkit-agent-helper-1: needs to be setuid root
Error: Incorrect permissions on /usr/lib/polkit-1/polkit-agent-helper-1 (needs to be setuid root)
==== AUTHENTICATION FAILED ====
Failed to start transient service unit: Access denied
This isn't immediately obvious. The suid root bit is there:
$ ls -l /usr/lib/polkit-1/polkit-agent-helper-1
-rwsr-xr-x. 1 root root 19872 Mar 27 01:00 /usr/lib/polkit-1/polkit-agent-helper-1
and run0 whoami works just fine:
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start transient unit 'run-p13069-i11470.service'.
Authenticating as: particleos
Password:
==== AUTHENTICATION COMPLETE ====
root
Perhaps the update is running in some restricted namespace or mount that has nosuid or so?
It's not the --reboot part, running without that also fails.
This is a blocker for running POS on a laptop. AFAIUI, updating from a http source does not work yet, and the only supported upgrade path is through rebuilding the image on the same host?
I don't currently have time to investigate this in depth. I'll have a closer look next week, but maybe someone already has an idea what's wrong here?
Yesterday I created a standard mkosi image locally in a Fedora 43 toolbox, according to the README.md:
mkosi.local.conf:
This worked fine. I booted it with
mkosi vm(qemu runner, as--vmm vmspawnfails in toolbx). Now I wanted to test upgrades, as per README.md: I cloned mkosi and particleos inside the VM, scp'ed inmkosi.{key,crt,mkosi.local.conf}, and ranThis built the image alright, but then failed on the deployment part:
This isn't immediately obvious. The suid root bit is there:
and
run0 whoamiworks just fine:Perhaps the update is running in some restricted namespace or mount that has
nosuidor so?It's not the
--rebootpart, running without that also fails.This is a blocker for running POS on a laptop. AFAIUI, updating from a http source does not work yet, and the only supported upgrade path is through rebuilding the image on the same host?
I don't currently have time to investigate this in depth. I'll have a closer look next week, but maybe someone already has an idea what's wrong here?