131de159fSAdriana Kobylak# Code Update Diagrams
231de159fSAdriana Kobylak
331de159fSAdriana Kobylak1. [High-Level Overview](#High-Level Overview)
431de159fSAdriana Kobylak
531de159fSAdriana Kobylak## High-Level Overview
631de159fSAdriana Kobylak
731de159fSAdriana Kobylak```
831de159fSAdriana Kobylak┌──────────────┐            ┌─────────────┐       ┌────────────┐
931de159fSAdriana Kobylak│User Interface│            │Image Manager│       │Item Updater│
1031de159fSAdriana Kobylak└──────┬───────┘            └──────┬──────┘       └──────┬─────┘
1131de159fSAdriana Kobylak       │          Upload           │                     │
1231de159fSAdriana Kobylak       │         Firmware          │                     │
1331de159fSAdriana Kobylak       │       Image to BMC        │                     │
1431de159fSAdriana Kobylak       ├──────────────────────────▶│                     │
1531de159fSAdriana Kobylak       │                           │                     │
1631de159fSAdriana Kobylak       │                           │  Extract            │
1731de159fSAdriana Kobylak       │                           │   image             │
1831de159fSAdriana Kobylak       │                           │ contents            │
1931de159fSAdriana Kobylak       │                           │     │               │
2031de159fSAdriana Kobylak       │                           ├─────┘               │
2131de159fSAdriana Kobylak       │                           ▼                     │
2231de159fSAdriana Kobylak       │                           │                     │
2331de159fSAdriana Kobylak       │                           │    Create           │
2431de159fSAdriana Kobylak       │                           │Software D-Bus       │
2531de159fSAdriana Kobylak       │                           │  object[1]          │
2631de159fSAdriana Kobylak       │                           │       │             │
2731de159fSAdriana Kobylak       │                           ├───────┘             │
2831de159fSAdriana Kobylak       │                           ▼                     │
2931de159fSAdriana Kobylak       │                           │                     │
3031de159fSAdriana Kobylak       │         Request to        ●                     │
3131de159fSAdriana Kobylak       │          Activate                               │
3231de159fSAdriana Kobylak       │          Software                               │
3331de159fSAdriana Kobylak       │        D-Bus Object                             │
3431de159fSAdriana Kobylak       ├────────────────────────────────────────────────▶│
3531de159fSAdriana Kobylak       │                                                 │   Verify
3631de159fSAdriana Kobylak       │                                                 │  digital
3731de159fSAdriana Kobylak       │                                                 │ signatures
3831de159fSAdriana Kobylak       │                                                 │      │
3931de159fSAdriana Kobylak       │                                                 ├──────┘
4031de159fSAdriana Kobylak       │                                                 ▼
4131de159fSAdriana Kobylak       │                                                 │
4231de159fSAdriana Kobylak       │                                                 │   Write
4331de159fSAdriana Kobylak       │                                                 │ image to
4431de159fSAdriana Kobylak       │                                                 │  flash[*]
4531de159fSAdriana Kobylak       │                                                 │     │
4631de159fSAdriana Kobylak       │                                                 ├─────┘
4731de159fSAdriana Kobylak       │                                                 ▼
4831de159fSAdriana Kobylak       │                                                 │
4931de159fSAdriana Kobylak       │                                     Success     │
5031de159fSAdriana Kobylak       │◀────────────────────────────────────────────────┤
5131de159fSAdriana Kobylak       │                                                 │
5231de159fSAdriana Kobylak       │                                                 ●
5331de159fSAdriana Kobylak5431de159fSAdriana Kobylak   BMC Reboot is
5531de159fSAdriana Kobylak required to boot
5631de159fSAdriana Kobylak from the updated
5731de159fSAdriana Kobylak       image
5831de159fSAdriana Kobylak
5931de159fSAdriana Kobylak```
60*f4febd00SPatrick Williams
61*f4febd00SPatrick Williams- [1]
62*f4febd00SPatrick Williams  [Software D-Bus Object](https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/Software)
6331de159fSAdriana Kobylak- [*] In a static layout configuration, the images are stored in RAM and the
6431de159fSAdriana Kobylak  content is written to flash during BMC reboot. Reference the update and
65*f4febd00SPatrick Williams  shutdown scripts provided by
66*f4febd00SPatrick Williams  [initrdscripts](https://github.com/openbmc/openbmc/tree/master/meta-phosphor/recipes-phosphor/initrdscripts)
67