Hi All, So as you may have heard, I'm working on hiding the grub-menu by default on single OS Fedora Workstation. Part of the plan here is to detect if a previous boot was successful and cleanly shutdown the machine and show the menu (not hide the menu) if the previous boot has failed to set either the boot_success or shutdown_success flags: https://fedoraproject.org/wiki/Changes/HiddenGrubMenu So now I'm working on writing a unit file which will be added to poweroff.target.wants, reboot.target.want, etc. and which will call: grub2-editenv - set shutdown_success=1 *just* before unmounting file systems, so clearly this needs a: Before: umount.target That will guarantee that grub2-editenv can write to /boot, but if I'm not mistaken then this will cause my grub-shutdown.service to run as soon as "systemctl poweroff" is called. One solution to this would be to add a: After shutdown.target So we get After: shutdown.target Before: umount.target According to: https://www.freedesktop.org/software/systemd/man/bootup.html shutdown, and umount run in parallel, now in practice almost all services will have a Requires sysinit.target which requires localfs.target, which requires all the local mounts, so umounting won't happen until all the services are stopped. Still me adding a unit with a: After: shutdown.target Before: umount.target Implicitly serializes this, which goes against: https://www.freedesktop.org/software/systemd/man/bootup.html So I'm not sure that that is a good idea. For now I will continue working on this using just: Before: umount.target But I'm curious if using: After: shutdown.target Before: umount.target Would be ok and/or if there are other suggestions for doing this. Regards, Hans