#
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 ...
|
#
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 to ensure they
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 ...
|
#
347a855d |
| 10-Feb-2020 |
Andrew Geissler <geissonator@yahoo.com> |
diag-mode: create new diagnostic mode target
This target will be used when the host is collecting diagnostic data. In most cases this data is to help debug a failure of some sort in the host subsyst
diag-mode: create new diagnostic mode target
This target will be used when the host is collecting diagnostic data. In most cases this data is to help debug a failure of some sort in the host subsystem.
phosphor-state-manager will track the entry and exit of this target within its xyz.openbmc_project.State.Host D-Bus object. It will correlate to "xyz.openbmc_project.State.Host.HostState.DiagnosticMode"
This target will be driven by other software components which are communicating with the host and coordinating the diagnostics so the target itself will have minimal services within it.
The CurrentHostState property within xyz.openbmc_project.State.Host will be mapped to the InTest state within Redfish when this target is running. The expectation is the target is only active when the host is actively collecting diagnostic data.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Iee2f851875f4b029c16d54a5d0ded50953ca4cfb
show more ...
|