Am Freitag, dem 18.06.2021 um 19:48 +0200 schrieb Norbert Lange: > Am Fr., 18. Juni 2021 um 16:35 Uhr schrieb Silvio Knizek <killermoehre@xxxxxxx>: > > > > Hi Norbert, > > > > make sure your /usr/local mount is done in the initrd and that you use > > »systemctl link /path/to/unit.service« to enable them. > That's not really helping, I don't want to chug in tons of tools in > the initramfs this is no desktop system. > systemctl link shouldnt be necessary, as /usr/local/lib/systemd/system > is a standard unit path. You're right with the path, I re-checked it. For your initrd the general suggestion is to actually include systemd in it. See https://systemd.io/INITRD_INTERFACE/ for everything. > > Since there is a systemd-update-done that changes /etc I would have thought that > systemd rereads the configuration (as /etc/systemd/system could have > changed) during startup. > I would want that for /usr/local/lib/systemd/system after this path > was made available through a mount. > > If systemd assumes the whole /usr drive to be static and has no way to > dynamically reload and "retarget" > (adding new wants/requires dependencies to starting/started targets) > then I guess that's the end of it. > > I dont know if thats the case or if I just dont know how (as > systemd-update-done allows a changing /etc I would assume systemd > would rescan it for units/dependencies) systemds internal unit representation is actually static. Unit files are only read when started as PID1 after the generators ran, while switch-root'ing from the initrd and everytime you run »systemctl daemon-re{load,exec}« (there are transient units as well, but this would be to much for here). What you could try is creating a new unit in /etc/systemd/system/ --- systemd-reload.service --- [Unit] Description=Reload systemd Requires=usr-local.mount After=usr-local.mount [Service] Type=oneshot ExecStart=/usr/bin/systemctl --no-block daemon-reload [Install] WantedBy=usr-local.mount --- and than a »systemctl daemon-reload && systemctl enable systemd- reload.service«. In theory (because completly untested) this unit should be activated as soon as your /usr/local mount point is ready. > > > > > For the automount behaviour, you need to add > > »noauto,x-systemd.autmount,x-systemd.idle-timeout=10s« > > to the options part in the /etc/fstab. See man:systemd.mount for more > > information. > > Thats Automount, but I want "LazyUnmount", > and the suggestion kinda contradicts "make sure your /usr/local mount > is done in the initrd" The »x-systemd.idle-timeout=10s« actually unmounts the disk as soon as 10s long the disk is idle. Idle is defined as - open file descriptors and - process working directory. So LazyUnmount (which you can define in an actual .mount unit) wouldn't change anything IMHO. (sorry for sending twice. Forgot the ML) _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel