From 76c79df3fca0842ec9dd38f9627913cf5c64001e Mon Sep 17 00:00:00 2001 From: Lei YU Date: Mon, 27 Aug 2018 14:36:32 +0800 Subject: 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 --- static/item_updater_helper.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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() -- cgit v1.2.3