Revision Date Author Comments
# 6f882c09 23-Feb-2022 Andrew Geissler <geissonator@yahoo.com>

obmc-targets: remove RefuseManualStop

Per freedesktop.org, this option is "mostly a safety feature to ensure
that the user does not accidentally activate units that are not
intended to be activated

obmc-targets: remove RefuseManualStop

Per freedesktop.org, this option is "mostly a safety feature to ensure
that the user does not accidentally activate units that are not
intended to be activated explicitly".

There have been a few instances when doing some systemd debugging, that
the ability to manually stop these targets would be useful. Given that
the only users logged into the BMC should know what they're doing, this
should not be much of a concern.

IBM has a tool called "istep" which can be used to boot the host
firmware independently from the different openbmc targets and services.
It's primarily used by the chip design and bringup team to have more
fine grained control over the initialization of the host hardware. The
problem with using istep is that it does not start any systemd targets
to boot the host firmware, but it does depend on systemd targets to
power the system off. The issue here is that if you don't start the
targets to boot the system, their "Conflicts" will not stop
the targets used to power down the system. When that doesn't happen,
there is no synchronization provided by those targets because they are
already running.

The solution will be to provide a shell script that istep (or any other
independent boot application) can call to manually stop all the targets
needs to synchronize the power off.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ic3bce98dc7ed2c6f57a78bb8ef590f1b447621ba

show more ...


# 964b9fc2 22-Jan-2021 Andrew Geissler <geissonator@yahoo.com>

synch targets: ensure wants relationship

Synchronization targets (i.e. targets that do not have services
underneath them) require "Wants" relationships to ensure they are
started and

synch targets: ensure wants relationship

Synchronization targets (i.e. targets that do not have services
underneath them) require "Wants" relationships to ensure they are
started and utilized. In most cases a service using them as a
synchronization target will ensure they are started but to be sure,
this should be explicitly defined within the targets themselves.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I053d1aba3f1596267a3ad3dbc6450f77df8a9396

show more ...


# 34b3b407 06-May-2020 Andrew Geissler <geissonator@yahoo.com>

multi-user: do not use wants relationship

The multi-user target is run by systemd when the BMC first boots. It
contains all of the initial startup services. Some OpenBMC targets want

multi-user: do not use wants relationship

The multi-user target is run by systemd when the BMC first boots. It
contains all of the initial startup services. Some OpenBMC targets want
to ensure they are run after the multi-user target completes. A lot of
these targets did both a Wants and After relationship with multi-user.

The latest systemd, version 245, now takes that Wants relationship
seriously and will start any services within multi-user that are
stopped. This includes oneshot services which do not have the
"RemainAfterExit=yes" clause. If these services only expected to be run
once, as a part of multi-user, then they should include this clause but
you can see how they may expected to have only been run once.

The solution is twofold:
1) Fix the oneshot services that fall in the above scenario
2) Change the targets to not Wants=multi-user.target

1 will be changes throughout a few repositories.
2 is fixed in this commit.

Resolves openbmc/phosphor-state-manager#14

Tested:
Provided test image to George and he verified this fixed the above
issue

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I6eb7e5d2cb7d5a3c95f2e8ef6efc708dbb63fd52

show more ...


# c101157e 27-Jan-2020 Andrew Geissler <geissonator@yahoo.com>

move openbmc targets into this repo

OpenBMC is moving towards individual repos hosting and maintaining their
own systemd files. This allows the corresponding maintainer more control

move openbmc targets into this repo

OpenBMC is moving towards individual repos hosting and maintaining their
own systemd files. This allows the corresponding maintainer more control
over their systemd files and removes the meta-* layer maintainer from
needing to be involved.

The systemd targets defined and used by OpenBMC are implemented by
phosphor-state-manager code and services so move them into this
repository.

Once this is merged, its bump will need to be combined with a change in
the meta-phosphor layer that removes the target files.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I248bf79c95f66afefffcc152de79cd2791945819

show more ...