There are 2 ways you can update host / boot firmware in openPOWER machines
a) Via BMC console
b) Via BMC REST API
In this post we will see the steps for updating the host firmware via BMC console:
Step1: Get to the BMC console (via ssh)
ssh root@<openBMC IP>
Step2: Now we want to make sure host power is off
obmcutil poweroff
Step3: Get the host flash binary into /tmp location on BMC
cd /tmp
wget <link to host firmware>
Step4: Start flashing the new firmware using ‘pflash’ utility. Once you know for sure host power is off ( you can check it via <obmcutil state>)
pflash -E -f -p <flash-binary-name>.pnor
Step5: Once you see the flash progress reach 100% and complete, try to get the power on
obmcutil poweron
Step6: Check the console , if your host is booting successfully
obmc-console-client
Above steps (specifically the pflash command above) completely wipe out your flash chip (including boot preferences) and replace it with new host firmware. If you, instead wanted to save boot preferences then you need to back up the NVRAM partition using the flow below:
cd /tmp
pflash -P NVRAM -r nvram
pflash -E -f -p <flash-binary-name>.pnor
pflash -e -P NVRAM -p nvram
rm -rf nvram
Awesome! Thanks Adi!
LikeLiked by 1 person