Introduce new host-startmin action target
Requirements have arisen for OpenBMC firmware to run
certain services only during fresh power on operations.
To achieve that, break the obmc-host-start action target into
two targets. The existing obmc-host-start target will now
call the new obmc-host-startmin target. The startmin target
will be the minimum services required to start the host.
The obmc-host-start target is where services that should
only be called during a fresh power on can be placed.
The initial use case for this is the obmc-host-reboot target.
It will call this new obmc-host-startmin target to do the bare
minimum on a reboot operation.
This then allows the use case for OpenBMC to only reset the host
reboot count on a fresh power on operation. A new service will
be added to the obmc-host-start target to do this. If a reboot
operation is issued, or a host watchdog is triggered to cause a
reboot, this service would not be started, ensuring the reboot
count is properly decremented.
Tested: Verified on/off/reboot and ran CT regression suite.
https://gerrit.openbmc-project.xyz/#/c/9821/ is required
for reboots to work properly.
Change-Id: I86df03e6d671178c1525f852e196c4102bb73cb6
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/common/recipes-phosphor/chassis/obmc-op-control-power.bb b/common/recipes-phosphor/chassis/obmc-op-control-power.bb
index e341463..fabddf3 100644
--- a/common/recipes-phosphor/chassis/obmc-op-control-power.bb
+++ b/common/recipes-phosphor/chassis/obmc-op-control-power.bb
@@ -68,7 +68,7 @@
# Now show that the main control target requires these power targets
START_TMPL_CTRL = "obmc-chassis-poweron@.target"
-START_TGTFMT_CTRL = "obmc-host-start@{1}.target"
+START_TGTFMT_CTRL = "obmc-host-startmin@{1}.target"
START_INSTFMT_CTRL = "obmc-chassis-poweron@{0}.target"
START_FMT_CTRL = "../${START_TMPL_CTRL}:${START_TGTFMT_CTRL}.requires/${START_INSTFMT_CTRL}"
SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'START_FMT_CTRL', 'OBMC_POWER_INSTANCES', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/common/recipes-phosphor/chassis/obmc-pcie-detect.bb b/common/recipes-phosphor/chassis/obmc-pcie-detect.bb
index 6b5761b..6e0ad97 100644
--- a/common/recipes-phosphor/chassis/obmc-pcie-detect.bb
+++ b/common/recipes-phosphor/chassis/obmc-pcie-detect.bb
@@ -9,7 +9,7 @@
SKELETON_DIR = "pciedetect"
TMPL = "pcie-slot-detect@.service"
-TGTFMT = "obmc-host-start@{0}.target"
+TGTFMT = "obmc-host-startmin@{0}.target"
INSTFMT = "pcie-slot-detect@{0}.service"
FMT = "../${TMPL}:${TGTFMT}.wants/${INSTFMT}"
diff --git a/common/recipes-phosphor/chassis/obmc-pcie-detect/pcie-slot-detect@.service b/common/recipes-phosphor/chassis/obmc-pcie-detect/pcie-slot-detect@.service
index 91adb76..4545524 100644
--- a/common/recipes-phosphor/chassis/obmc-pcie-detect/pcie-slot-detect@.service
+++ b/common/recipes-phosphor/chassis/obmc-pcie-detect/pcie-slot-detect@.service
@@ -11,4 +11,4 @@
SyslogIdentifier=pcie_slot_present.exe
[Install]
-WantedBy=obmc-host-start@%i.target
+WantedBy=obmc-host-startmin@%i.target