summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--static/item_updater_helper.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/static/item_updater_helper.cpp b/static/item_updater_helper.cpp
index 19ac61d..572cb9c 100644
--- a/static/item_updater_helper.cpp
+++ b/static/item_updater_helper.cpp
@@ -9,8 +9,11 @@ namespace updater
{
// openbmconce=clean-rwfs-filesystem factory-reset
#define ENV_FACTORY_RESET "openbmconce\\x3dfactory\\x2dreset"
+#define ENV_ENABLE_FIELD_MODE "fieldmode\\x3dtrue"
#define SERVICE_FACTORY_RESET \
"obmc-flash-bmc-setenv@" ENV_FACTORY_RESET ".service"
+#define SERVICE_ENABLE_FIELD_MODE \
+ "obmc-flash-bmc-setenv@" ENV_ENABLE_FIELD_MODE ".service"
void Helper::setEntry(const std::string& entryId, uint8_t value)
{
@@ -49,7 +52,10 @@ void Helper::updateUbootVersionId(const std::string& versionId)
void Helper::enableFieldMode()
{
- // TODO
+ auto method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
+ SYSTEMD_INTERFACE, "StartUnit");
+ method.append(SERVICE_ENABLE_FIELD_MODE, "replace");
+ bus.call_noreply(method);
}
void Helper::mirrorAlt()
OpenPOWER on IntegriCloud