1# Code Update Diagrams 2 31. [High-Level Overview](#High-Level Overview) 4 5## High-Level Overview 6 7``` 8┌──────────────┐ ┌─────────────┐ ┌────────────┐ 9│User Interface│ │Image Manager│ │Item Updater│ 10└──────┬───────┘ └──────┬──────┘ └──────┬─────┘ 11 │ Upload │ │ 12 │ Firmware │ │ 13 │ Image to BMC │ │ 14 ├──────────────────────────▶│ │ 15 │ │ │ 16 │ │ Extract │ 17 │ │ image │ 18 │ │ contents │ 19 │ │ │ │ 20 │ ├─────┘ │ 21 │ ▼ │ 22 │ │ │ 23 │ │ Create │ 24 │ │Software D-Bus │ 25 │ │ object[1] │ 26 │ │ │ │ 27 │ ├───────┘ │ 28 │ ▼ │ 29 │ │ │ 30 │ Request to ● │ 31 │ Activate │ 32 │ Software │ 33 │ D-Bus Object │ 34 ├────────────────────────────────────────────────▶│ 35 │ │ Verify 36 │ │ digital 37 │ │ signatures 38 │ │ │ 39 │ ├──────┘ 40 │ ▼ 41 │ │ 42 │ │ Write 43 │ │ image to 44 │ │ flash[*] 45 │ │ │ 46 │ ├─────┘ 47 │ ▼ 48 │ │ 49 │ Success │ 50 │◀────────────────────────────────────────────────┤ 51 │ │ 52 │ ● 53 ▼ 54 BMC Reboot is 55 required to boot 56 from the updated 57 image 58 59``` 60- [1] [Software D-Bus Object](https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/xyz/openbmc_project/Software) 61- [*] In a static layout configuration, the images are stored in RAM and the 62 content is written to flash during BMC reboot. Reference the update and 63 shutdown scripts provided by [initrdscripts](https://github.com/openbmc/openbmc/tree/master/meta-phosphor/recipes-phosphor/initrdscripts) 64