agama/live/live-root/etc/systemd/system
Ladislav Slezák d382e4d6d5
Break a systemd service dependency cycle (#3665)
## Problem

- https://bugzilla.suse.com/show_bug.cgi?id=1268901
- When systemd detects a cycle in the service dependencies then it
deletes some services to break the cycle. But that services are missing
in the boot sequence and that can have nasty side effects.

```
Jun 24 15:03:54 localhost systemd[1]: NetworkManager-initrd.service: Found ordering cycle: ignition-enable-network.service/start after ignition-fetch-offline.service/start after basic.target/start after sysinit.target/start after cryptsetup.target/start after systemd-ask-password-console.path/start after plymouth-start.service/start after initrd-nmtui.service/start after network-online.target/start after network.target/start after NetworkManager-initrd.service/start - after ignition-enable-network.service
Jun 24 15:03:54 localhost systemd[1]: NetworkManager-initrd.service: Job cryptsetup.target/start deleted to break ordering cycle starting with NetworkManager-initrd.service/start
```

## Solution

- Remove the `Before=plymouth-start.service` dependency which was used
to start the interactive TUI tool before the splashscreen (otherwise it
would not be visible).
- Instead ordering the services quit plymouth before starting the TUI
tool.

## Notes

- As written in the comment, it should be enough to use the `plymouth
hide-splash` and `plymouth show-splash` pair in the pre/post scripts but
unfortunately then the `nmtui` ignores pressing the `Enter` key and
cannot be used. It is strange as the `dialog` tool used before running
`nmtui` works fine.
- As a workaround quit the splash screen completely. As this boot option
will be used rarely it is an acceptable solution.

## Testing

- Tested manually, no dependency cycle is reported and the `nmtui` tool
works fine.

---------

Co-authored-by: Martin Vidner <mvidner@suse.com>
2026-06-24 17:55:03 +02:00
..
agama-avahi-issue.service Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
agama-certificate-issue.path Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
agama-certificate-issue.service Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
agama-certificate-wait.service Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
agama-cmdline-process.service Some more touches to make original solution working on the current agama 2025-06-03 09:35:40 +02:00
agama-hostname.service Initial self-update implementation 2025-10-20 17:58:52 +02:00
agama-ssh-issue.service Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
agama-url-issue.service Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
agama-welcome-issue.service Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
checkmedia.service Fixed medium check (bsc#1262311) 2026-04-23 10:33:07 +02:00
initrd-nmtui.service Break a systemd service dependency cycle (#3665) 2026-06-24 17:55:03 +02:00
live-free-space.service Rename "root" to "live-root" to avoid confusion 2025-04-23 13:26:35 +02:00
live-password.service Some more touches to make original solution working on the current agama 2025-06-03 09:35:40 +02:00
live-root-shell.service Start the shell at tty8 as login shell 2026-04-01 16:39:45 +02:00
live-self-update.service Enhanced the self-update implementation 2025-10-30 09:34:18 +01:00