designs: firmware_update_via_blobs: Add notion of cleanup blob

Add the notion of a cleanup blob id that is present.  This was invented
as a convenience mechanism for wiping the BMC's update artifacts on
failure.  On memory constrained systems, having a 32MiB file sitting in
the RAM FS is wasteful on failure.  One can simply reboot the BMC to
address this, and therefore this blob is only a convenience.

Deleting the artifacts on failure is not a default behavior because they
are meant to be harmless.  This also allows a developer to use unsigned
images if they want without requiring a different update mechanism.  The
developer would require console access, but with that access could flash
the "invalid" image if they chose.

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ie1bc184d24295ed61fd8be8fd48fb50c205235ac
1 file changed
tree: 618852e6897143587b9fddb1ac0548c4b1deb86f
  1. code-update/
  2. designs/
  3. development/
  4. logo/
  5. meetings/
  6. release/
  7. security/
  8. style/
  9. userguide/
  10. anti-patterns.md
  11. cheatsheet.md
  12. code-of-conduct.md
  13. console.md
  14. CONTRIBUTING.md
  15. cpp-style-and-conventions.md
  16. features.md
  17. glossary.md
  18. host-management.md
  19. ipmi-architecture.md
  20. kernel-development.md
  21. LED-architecture.md
  22. LICENSE
  23. maintainer-workflow.md
  24. MAINTAINERS
  25. Makefile
  26. object-mapper.md
  27. openbmc-conversion.md
  28. openbmc-systemd.md
  29. README.md
  30. REDFISH-cheatsheet.md
  31. redfish-logging-in-bmcweb.md
  32. rest-api.md
  33. REST-cheatsheet.md
  34. run-test-docker.md
  35. sensor-architecture.md
  36. subtree.md
  37. user_management.md
  38. yocto-development.md
README.md

OpenBMC documentation

This repository contains documentation for OpenBMC as a whole. There may be component-specific documentation in the repository for each component.

The features document lists the project's major features with links to more information.

OpenBMC Usage

These documents describe how to use OpenBMC, including using the programmatic interfaces to an OpenBMC system.

OpenBMC Development

These documents contain details on developing OpenBMC code itself

OpenBMC Goals

The OpenBMC project's aim is to create a highly extensible framework for BMC software and implement for data-center computer systems.

We have a few high-level objectives:

  • The OpenBMC framework must be extensible, easy to learn, and usable in a variety of programming languages.

  • Provide a REST API for external management, and allow for "pluggable" interfaces for other types of management interactions.

  • Provide a remote host console, accessible over the network

  • Persist network configuration settable from REST interface and host

  • Provide a robust solution for RTC management, exposed to the host.

  • Compatible with host firmware implementations for basic IPMI communication between host and BMC

  • Provide a flexible and hierarchical inventory tracking component

  • Maintain a sensor database and track thresholds

Technical Steering Committee

  • Brad Bishop (chair), IBM
  • Nancy Yuen, Google
  • Sai Dasari, Facebook
  • James Mihm, Intel
  • Sagar Dharia, Microsoft
  • Supreeth Venkatesh, Arm