static layout: Support field mode
Enable support for field mode, which sets "fieldmode=true" in u-boot
env.
Tested: Verify field mode is enabled via REST API, and verify it is
still enabled after BMC reboot.
Change-Id: I9ff01a51260d1f08021e0ba7ade16fd48c8bb24e
Signed-off-by: Lei YU <mine260309@gmail.com>
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 @@
{
// 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::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()