commit | 70d72f8dc99a93cd574bc51dd012a5070e8e685a | [log] [tgz] |
---|---|---|
author | Andrew Geissler <geissonator@yahoo.com> | Wed Mar 23 13:15:05 2022 -0500 |
committer | Adriana Kobylak <anoo@linux.ibm.com> | Mon Apr 11 20:59:38 2022 +0000 |
tree | 1bcfb5b5b5a60f6853c8300f9db569095ce666b0 | |
parent | 047f60e01adec4f7c0819a321ccde97e3ecb25b4 [diff] |
side-switch: introduce new bmc update feature This is the first commit in a series which will introduce a feature within phosphor-bmc-code-mgmt that users can optionally install on their systems to cause a side-switch boot. A side-switch boot is a boot of a system in which the BMC detects that the user has requested the alternate image on the flash chip be booted from. The detection is done by looking at the available images, their priorities, and the running image. If a higher priority image is available on the non-running side, then it should be switched to. This feature utilizes the one-time auto-power-on service to cause an automatic boot of the system after the bmc side switch occurs. At a high level, a service will be put into the obmc-host-start@.target which runs before any other services in that target. It will launch the executable being created in this series of commits. That application will determine if a side switch is needed, and if so it will: - Initiate and wait for a chassis power off of the system - Set the one-time auto-power-on policy to AlwaysOn - Issue a reboot to the BMC But why did the user not just reboot the BMC themselves when they installed the new image? There are use cases (at least on IBM systems) where the user of the system wants to switch to the alternate image in flash, but they want to defer that until someone reboots the BMC manually OR the next time the user starts a boot of the system. Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I58a914ec2c3f3cf15ac41a02725e9a800dffcf30
Phosphor BMC Code Management provides a set of system software management applications. More information can be found at Software Architecture
To build this package, do the following steps:
meson build
ninja -C build
To clean the repository run rm -r build
.