[phosphor-software-manager] potential out of order for reboot guard enable and disable procedure

Heyi Guo guoheyi at linux.alibaba.com
Sun Mar 6 01:03:35 AEDT 2022


Hi all,

We found reboot might be permanently disabled after running BMC image 
update with curl command. The journal log showed the steps of reboot 
guard enable and disable were out of order:

Mar 05 20:32:58 ali2600 systemd[1]: Starting Enable a guard that blocks 
BMC reboot...
Mar 05 20:32:58 ali2600 phosphor-image-updater[370]: BMC activation has 
ended - BMC reboots are re-enabled.
Mar 05 20:32:58 ali2600 systemd[1]: Starting Removes the guard that 
blocks BMC reboot...
Mar 05 20:32:58 ali2600 phosphor-image-updater[370]: BMC image ready, 
need reboot to get activated.
Mar 05 20:32:58 ali2600 systemd[1]: reboot-guard-disable.service: Succeeded.
Mar 05 20:32:58 ali2600 systemd[1]: Finished Removes the guard that 
blocks BMC reboot.
Mar 05 20:32:59 ali2600 systemd[1]: reboot-guard-enable.service: Succeeded.
Mar 05 20:32:59 ali2600 systemd[1]: Finished Enable a guard that blocks 
BMC reboot.

It seems systemd would not guarantee the completion order for StartUnit 
operations, while I think this is critical for firmware upgrade 
procedure. Shall we switch to normal C++ implementation to create and 
remove reboot guaud configuration files, to guarantee the order of these 
sequential steps?

Thanks,

Heyi



More information about the openbmc mailing list