BMC: Block BMC reboots during Code Update

- Enable the service that blocks reboot within the constructor
  of ActivationBlockTransition, so that the user can't reboot BMC
  while code update is in progress.
- Once the code update is complete the destructor of
  ActivationBlockTransition will disable any reboot guard that
  prevents user from rebooting the BMC.

Tested: Verified that the user is unable to reboot during the activation
process and that journal logs are present to indicate why the user is
unable to reboot.

Resolves openbmc/openbmc#1944

Change-Id: Ia149a76bcf093b011fe243fc609ae83358a0f933
Signed-off-by: Saqib Khan <khansa@us.ibm.com>
2 files changed
tree: 852bbe4a472a5c853549424d27c363e7d2b35d6a
  1. org/
  2. test/
  3. xyz/
  4. .gitignore
  5. activation.cpp
  6. activation.hpp
  7. bootstrap.sh
  8. configure.ac
  9. download_manager.cpp
  10. download_manager.hpp
  11. download_manager_main.cpp
  12. elog-errors.hpp
  13. image_manager.cpp
  14. image_manager.hpp
  15. image_manager_main.cpp
  16. item_updater.cpp
  17. item_updater.hpp
  18. item_updater_main.cpp
  19. LICENSE
  20. Makefile.am
  21. README.md
  22. serialize.cpp
  23. serialize.hpp
  24. version.cpp
  25. version.hpp
  26. watch.cpp
  27. watch.hpp
README.md

phosphor-bmc-code-mgmt

Phosphor BMC Code Management provides a set of system software management applications. More information can be found at Software Architecture

To Build

To build this package, do the following steps:

    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To full clean the repository again run `./bootstrap.sh clean`.