How to correctly setup the partition table for systemd-sysupdate?

Renjaya Raga Zenta ragazenta at gmail.com
Mon Jan 8 08:40:35 UTC 2024


Hi,

I've been experimenting with systemd-sysupdate, trying to understand how it
works.

I created a Fedora 39 image¹ with mkosi from the GitHub repo. It has 3
partitions:
1) esp
2) root
3) linux-generic (to put updates)

The root and third partition will be expanded on firstboot via
systemd-growfs². I also configured the third partition to be automounted
with udev rules.

I created a configuration file in /usr/lib/sysupdate.d: 10-root.conf
[Transfer]
ProtectVersion=%A

[Source]
Type=regular-file
Path=/run/media/system/UPDATES
MatchPattern=demo_ at v.root-x86-64.raw

[Target]
Type=partition
Path=auto
MatchPartitionType=root

Let's say, first, I created version 0.1.0: demo_0.1.0.raw, then I created
version 0.1.1 with SplitArtifacts=yes in mkosi.conf. So I had
demo_0.1.1.esp.raw and demo_0.1.1.root-x86-64.raw. I put
demo_0.1.1.root-x86-x64.raw to /run/media/system/UPDATES.

I ran /usr/lib/systemd/systemd-sysupdate list, it correctly showed the
available update candidate. But then I ran
/usr/lib/systemd/systemd-sysupdate update, it showed an error about the
partition table.

"Partition table has less than two partition slots of the right type
4f68bce3-xxxx-yyyy-truncated (root-x86-64), refusing."

I've tried adding more 2 root partition slots, but still got the same
error. I've also tried adding PaddingMinBytes/PaddingMaxBytes in
/usr/lib/repart.d/.

Maybe I missed something here. How to correctly setup the partition table
for systemd-sysupdate?

Thanks.

[1] I'm working on Debian stable based image, but unfortunately
systemd-sysupdate is not available (not compiled). So I tried Fedora
instead.
[2] Before systemd 255, the GrowFileSystem flag did not work as expected,
but there is a workaround. Hopefully the patches will be backported.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20240108/b6cc0233/attachment.htm>


More information about the systemd-devel mailing list