code-update.md: Update Host code update with Software interfaces
Update the Host code update section with steps to generate a bios host
image and instructions on how to perform and monitor the update by
using the Software dbus interfaces.
Change-Id: I86dc2b7c31385c162c8a24fbd9bd15d7a81cd2c2
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/code-update.md b/code-update.md
index 9c2f232..e743abd 100644
--- a/code-update.md
+++ b/code-update.md
@@ -192,18 +192,37 @@
Host code update
================
-The host firmware (or "BIOS") can be updated in a similar method. Because
-the BMC does not use the host firmware it is updated when the download is
-completed. This assumes the host is not accessing its firmware.
+Reference:
+https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/xyz/openbmc_project/Software
-Perform a POST request to call the `updateViaTftp` method of
-`/control/flash/bios` (instead of `/control/flash/bmc` used above). To initiate
-the update:
+Following are the steps to update the host firmware (or "BIOS"). This assumes
+the host is not accessing its firmware.
- curl -b cjar -k -H "Content-Type: application/json" -X POST \
- -d '{"data": ["<TFTP server IP address>", "<filename>"]}' \
- https://bmc/org/openbmc/control/flash/bios/action/updateViaTftp
+Generate a squashfs image. You'll need:
+ * A PNOR image: https://github.com/open-power/op-build
+ * The generate-squashfs script:
+ https://github.com/openbmc/openpower-pnor-code-mgmt/blob/master/generate-squashfs
+ * Run: `generate-squashfs <pnor-image>`
-And to check the flash status:
+Transfer the generated squashfs image to the BMC via one of two methods:
+ * Via REST Upload:
+ https://github.com/openbmc/docs/blob/master/rest-api.md#uploading-images
+ * Via TFTP: Perform a POST request to call the `DownloadViaTFTP` method of
+ `/xyz/openbmc_project/software`.
- curl -b cjar -k https://bmc/org/openbmc/control/flash/bios
+
+ curl -b cjar -k -H "Content-Type: application/json" -X POST \
+ -d '{"data": ["<filename>", "<TFTP server IP address"]}' \
+ https://bmc/xyz/openbmc_project/software/action/DownloadViaTFTP
+
+To initiate the update, set the `RequestedActivation` property of the desired
+image to `Active`.
+
+ curl -b cjar -k -H "Content-Type: application/json" -X PUT \
+ -d '{"data":
+ "xyz.openbmc_project.Software.Activation.RequestedActivations.Active"}' \
+ https://bmc/xyz/openbmc_project/software/<id>/attr/RequestedActivation
+
+Check the flash progress:
+
+ curl -b cjar -k https://bmc/xyz/openbmc_project/software/<id>/attr/Progress