On 26.08.2022 13:54, Tomáš Hnyk wrote: > > > >> > > > Indeed, it must have been the late night, they are the same. However, > the following are not the same even the man page says they are: > > > > > > sudo systemctl kexec # results in kexec > > > > > > full log here: https://hastebin.com/gubivumaha.apache > > > > > > srp 26 10:38:08 GreenOne systemd[1]: Reached target System Shutdown. > > > srp 26 10:38:08 GreenOne systemd[1]: Reached target Late Shutdown > Services. > > > srp 26 10:38:08 GreenOne systemd[1]: Starting Reboot via kexec... > > > srp 26 10:38:08 GreenOne systemd[1]: Shutting down. > > > srp 26 10:38:08 GreenOne systemd-shutdown[1]: Syncing filesystems and > block devices. > > > srp 26 10:38:08 GreenOne systemd-shutdown[1]: Sending SIGTERM to > remaining processes... > > > srp 26 10:38:08 GreenOne systemd-journald[416]: Journal stopped > > > > > > > > > sudo systemctl start kexec.target --job-mode=replace-irreversibly > --no-block # failed attempted kexec > > > > > > > You are right. systemctl does more (and differently) in case of > > "systemctl kexec". Not sure whether it needs explicit documentation > > though, as expectations are that it /should/ have the same effect. > > > Well, I guess then the man page could say something like (caps are what > would change) - I did assume one was just shorthand for the other: > > Shut down and reboot the system via kexec. This is MORE OR > LESS/TYPICALLY/SHOULD BE(+delete "is") equivalent to systemctl start > kexec.target --job-mode=replace-irreversibly --no-block. > > > > srp 26 10:39:04 GreenOne systemctl[2041]: Cannot automatically load > kernel: ESP mount point not found. > > > > That could be the actual reason. systemctl attempts to autodetect kernel > > for kexec and it needs ESP; final call to "systemctl --force kexec" > > happens late, when ESP (/boot/efi in your case) is already unmounted. > > > > For testing you could set DefaultDependencies=false for /boot/efi to > > avoid it being unmounted on shutdown. > > > Where can I set it? kexec.target already has "DefaultDependencies=no" in > [Unit]? > It is not about kexec.target. You can add it in drop-in, like bor@localhost:~> cat /etc/systemd/system/boot-efi.mount.d/nodef.conf [Unit] DefaultDependencies=false bor@localhost:~> By default fsck service has RemainAfterExit=yes and mount units require fsck services so they are stopped anyway, I had to add override bor@localhost:~> cat /etc/systemd/system/systemd-fsck@dev-disk-by\\x2duuid-893B\\x2d91D8.service.d/exit.conf [Service] RemainAfterExit=false bor@localhost:~> But notice also that systemd only supports automatic detection when using systemd-boot. E.g. here openSUSE provides customer service that detects default grub2 boot entry and performs "kexec --load".