Add information about field mode
Change-Id: I0534256769c74dc65c79f570e85f1f28c7ea3cd4
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/code-update/ubi-code-update.md b/code-update/ubi-code-update.md
index 15eef7b..925746d 100644
--- a/code-update/ubi-code-update.md
+++ b/code-update/ubi-code-update.md
@@ -262,6 +262,37 @@
-d "{\"data\": [] }"
```
+### Software Field Mode
+
+Field mode is meant for systems shipped from manufacturing to a customer.
+Field mode offers a way to provide security and ensure incorrect patches don't
+get loaded on the system by accident. The software implementation of the field
+mode interface disables patching of the BMC by not mounting `/usr/local`, which
+in turn disables host patching at `/usr/local/share/pnor/`.
+Enabling field mode is intended to be a one-way operation which means that once
+enabled, there is no REST API provided to disable it.
+
+Field mode can be enabled by running the following command:
+
+```
+curl -b cjar -k -H 'Content-Type: application/json' -X PUT -d '{"data":1}' \
+ https://${bmc}/xyz/openbmc_project/software/attr/FieldModeEnabled
+
+```
+
+Although field mode is meant to be a one-way operation, it can be disabled
+by a user with admin privileges by running the following commands on the BMC:
+
+```
+fw_setenv fieldmode
+
+systemctl unmask usr-local.mount
+
+reboot
+```
+
+More information on field mode can be found here:
+https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Control/FieldMode.interface.yaml
### Implementation