OpenBMC Flash Layouts and Firmware Updates

Main Track,

Deep dive into the currently supported flash layouts, filesystems, and firmware update options in OpenBMC, how to choose which one to use, and how to enable each.

Choosing a system flash layout is an important commitment as it establishes how the flash space is allocated, and in most of the cases the chosen layout will remain the same throughout the life of the product (repartitioning may not be supported without loss of data). The decision process to choose the best option for your system would include considerations for specific requirements, such as secure boot enablement, support for dual firmware versions, or filesystem type. It would also be constrained by limitations such as the type of flash chip or flash size.
In this talk, we will dive deep into the currently supported flash layouts, filesystems, and boot options in OpenBMC, and how the code update application writes and boots a new firmware image. This talk will also walk through the advantages and limitations of each flash layout option, what are some of the considerations for choosing each, and prerequisites and instructions on how to enable and build each configuration in the OpenBMC repository, using existing systems as examples.