Skip to content

Commit 23b5306

Browse files
Vogtinatorbluca
authored andcommitted
units/initrd-parse-etc.service: Conflict with emergency.target
If emergency.target is started while initrd-parse-etc.service/start is queued, the initrd-parse-etc job did not get canceled. In parallel to the emergency units, it eventually runs the service, which starts initrd-cleanup.service, which in turn isolates initrd-switch-root.target. This stops the emergency units and effectively starts the initrd boot process again, which likely fails again like the initial attempt. The system is thus stuck in an endless loop, never really reaching emergency.target. With this conflict added, starting emergency.target automatically cancels initrd-parse-etc.service/start, avoiding the loop. (cherry picked from commit 327cd2d) (cherry picked from commit 72da036)
1 parent 7ca3cae commit 23b5306

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

units/initrd-parse-etc.service.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ DefaultDependencies=no
1515
Requires=initrd-root-fs.target
1616
After=initrd-root-fs.target
1717

18+
Conflicts=emergency.target
19+
1820
OnFailure=emergency.target
1921
OnFailureJobMode=replace-irreversibly
2022

0 commit comments

Comments
 (0)