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

Adrian Vovk adrianvovk at gmail.com
Mon Jan 8 13:32:55 UTC 2024


You shouldn't be using a linux-generic partition for updates. You need (at
least) two of the same kind of partition to switch between whenever there's
an update

On Mon, Jan 8, 2024, 06:46 Renjaya Raga Zenta <ragazenta at gmail.com> wrote:

> 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/5b09b7b2/attachment.htm>


More information about the systemd-devel mailing list