code-update: Create document for diagrams
Flow diagrams are useful to understand how processes work and to
document requirements and dependencies.
Create a file to host code update diagrams, starting with a very
high level overview.
Change-Id: Ic744d29f6c143e7704cb6c7de5c59a8e7fc1cdf8
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/code-update/code-update-diagrams.md b/code-update/code-update-diagrams.md
new file mode 100644
index 0000000..8788348
--- /dev/null
+++ b/code-update/code-update-diagrams.md
@@ -0,0 +1,63 @@
+# Code Update Diagrams
+
+1. [High-Level Overview](#High-Level Overview)
+
+## High-Level Overview
+
+```
+┌──────────────┐ ┌─────────────┐ ┌────────────┐
+│User Interface│ │Image Manager│ │Item Updater│
+└──────┬───────┘ └──────┬──────┘ └──────┬─────┘
+ │ Upload │ │
+ │ Firmware │ │
+ │ Image to BMC │ │
+ ├──────────────────────────▶│ │
+ │ │ │
+ │ │ Extract │
+ │ │ image │
+ │ │ contents │
+ │ │ │ │
+ │ ├─────┘ │
+ │ ▼ │
+ │ │ │
+ │ │ Create │
+ │ │Software D-Bus │
+ │ │ object[1] │
+ │ │ │ │
+ │ ├───────┘ │
+ │ ▼ │
+ │ │ │
+ │ Request to ● │
+ │ Activate │
+ │ Software │
+ │ D-Bus Object │
+ ├────────────────────────────────────────────────▶│
+ │ │ Verify
+ │ │ digital
+ │ │ signatures
+ │ │ │
+ │ ├──────┘
+ │ ▼
+ │ │
+ │ │ Write
+ │ │ image to
+ │ │ flash[*]
+ │ │ │
+ │ ├─────┘
+ │ ▼
+ │ │
+ │ Success │
+ │◀────────────────────────────────────────────────┤
+ │ │
+ │ ●
+ ▼
+ BMC Reboot is
+ required to boot
+ from the updated
+ image
+
+```
+- [1] [Software D-Bus Object](https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/xyz/openbmc_project/Software)
+- [*] In a static layout configuration, the images are stored in RAM and the
+ content is written to flash during BMC reboot. Reference the update and
+ shutdown scripts provided by [initrdscripts](https://github.com/openbmc/openbmc/tree/master/meta-phosphor/recipes-phosphor/initrdscripts)