[systemd-devel] systemd-repart with volatile root
Lennart Poettering
lennart at poettering.net
Mon Aug 10 17:59:16 UTC 2020
On Mo, 10.08.20 19:36, Lennart Poettering (lennart at poettering.net) wrote:
> On Fr, 17.07.20 14:38, Xogium (contact at xogium.me) wrote:
>
> > Hi,
> > as the subject says, I am trying to use repart to add a partition on a block
> > device, from inside the initramfs. I also make use of overlayfs via
> > systemd-volatile-root to make it possible to write temporarily on the
> > root device. However it appears that systemd-repart and
> > systemd-volatile-root are both ran in parallel: http://ix.io/2rRi
> > This results in repart failing to find the root block device.
> > Would there be any way to have repart ran before systemd-volatile-root, such
> > that it has time to finish modifying the real block device ? Adding
> > systemd-volatile-root on the Before= line in systemd-repart.service via an
> > override is not enough since both units are of type simple. It is started before
> > the volatile root unit, but they both ultimately end up running in parallel once
> > again.
>
> This is supposed to just work, and if it doesn't it's a bug.
>
> It appears s-v-r.s should have an After=s-r.s but currently does
> not. The fix should be easy: just add it to the unit file. Event
> better, prep a PR and submit it upstream and we'll merge it.
>
> Alternatively, file an issue, and we'll look into it, eventually (or
> is there already one filed?).
Ah, well, I just prepped the PR myself:
https://github.com/systemd/systemd/pull/16707
You should be able to make the same change locally, but make sure that
you rebuild your initrd so that it includes the updated unit file.
Lennart
--
Lennart Poettering, Berlin
More information about the systemd-devel
mailing list