Skip to content

Commit

Permalink
rauc: rauc-mark-good: disable implicit dependencies
Browse files Browse the repository at this point in the history
Having implicit dependencies enabled would lead to ordering cycles
when enabling 'boot assessment', through
systemd-boot-check-no-failures [1], which is a service that forces the
multi-user.target to be reached before the boot-complete.target.

The ordering cycle in this case would be:
boot-complete -requires-> systemd-boot-check-no-failures
systemd-boot-check-no-failures -after-> multi-user
rauc-mark-good -after-> boot-complete
boot-complete -after-> multi-user
multi-user -after-> rauc-mark-good

Which systemd would break by simply not running rauc-mark-good.

The solution is to disable implicit dependencies that would otherwise
add an 'After=rauc-mark-good.service' to the multi-user.target via the
[Install] section.

Link: https://www.freedesktop.org/software/systemd/man/latest/systemd-boot-check-no-failures.html
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
  • Loading branch information
js731ca authored and ejoerns committed Apr 16, 2024
1 parent 3fee961 commit 4904f9f
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions recipes-core/rauc/files/rauc-mark-good.service
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ ConditionKernelCommandLine=|bootchooser.active
ConditionKernelCommandLine=|rauc.slot
After=boot-complete.target
Requires=boot-complete.target
DefaultDependencies=no

[Service]
Type=oneshot
Expand Down

0 comments on commit 4904f9f

Please sign in to comment.