Difference between revisions of "Updating Firmware"
Line 1: | Line 1: | ||
− | = | + | ==Purpose== |
+ | This guide describes how to upgrade the firmware of your RCS [[OpenPOWER]] machine. | ||
− | + | ==Applicability== | |
+ | All RCS [[OpenPOWER]] systems. | ||
− | In contrast, the FPGA is rarely changed. | + | ==Overview== |
+ | Your Raptor Computing Systems POWER9 mainboard contains three primary firmware components — a system control FPGA bitstream, the BMC software stack, and the host OpenPOWER firmware (PNOR). The BMC and host PNOR are easily upgradeable over a network connection. | ||
+ | |||
+ | In contrast, the FPGA bitstream is rarely changed. Should an FPGA bitstream update be desired, a direct SPI programming connection to a Flashrom compatible system is required via the provided FPGA programming header. | ||
A list of current firmware versions for each supported product is available on the pages shown below: | A list of current firmware versions for each supported product is available on the pages shown below: | ||
Line 11: | Line 16: | ||
While we strongly encourage you to compile your own firmware components from the provided source, we also provide prebuilt firmware images for download. Please note that, in general, the only way to guarantee that you or your organization's security requirements are met is to download and audit the provided source code, then compile from that audited codebase. This is not unique to our systems; the nature of all software is that the binary form may be very difficult to analyze for undesired or unintended operation. | While we strongly encourage you to compile your own firmware components from the provided source, we also provide prebuilt firmware images for download. Please note that, in general, the only way to guarantee that you or your organization's security requirements are met is to download and audit the provided source code, then compile from that audited codebase. This is not unique to our systems; the nature of all software is that the binary form may be very difficult to analyze for undesired or unintended operation. | ||
− | == BMC == | + | ==Updating the BMC firmware== |
− | ''' | + | '''Note:''' The BMC should never need to be fully reprogrammed. Erasing the entire BMC flash device will also erase U-Boot and its associated environment variables, requiring that they be reloaded from information printed on the mainboard itself. In particular, from the factory, the IPMI MAC address is stored in both the U-Boot loader via the default environment variable string, and the currently active U-Boot environment variables. This IPMI MAC address may also be found on the mainboard below CPU0 should you need to reprogram it for any reason. |
− | The preferred method of BMC | + | The preferred method of updating the BMC is to take the BMC update files that you have either compiled or obtained from official Raptor Computing Systems sources, and to upload them to the BMC. Once uploaded, the BMC is able to self-update. |
− | This procedure can be done with the host powered on, but it might result in artifacts such as power button starting to blink until host is rebooted. | + | This procedure can be done with the host powered on, but it might result in artifacts such as power button starting to blink until the host is rebooted. |
− | + | ===Transfer update files=== | |
+ | Perform the upgrade by transferring the following two files to <tt>/run/initramfs/</tt> on the BMC: | ||
− | * image-kernel | + | * <tt>image-kernel</tt> |
− | * image-rofs | + | * <tt>image-rofs</tt> |
− | + | <tt>scp</tt> or any similar utility is capable of transferring the upgrade files. To avoid running out of disk space by placing these files in temporary directories, you can transfer them directly into /run/initramfs/ with something like <tt>scp image-{kernel,rofs} root@$TALOS_BMC_ADDR:/run/initramfs/</tt>. | |
− | + | ===Apply update=== | |
+ | After transfer, reboot the BMC via the <tt>reboot</tt> command over SSH or the local BMC serial console. The firmware update will be applied automatically. | ||
− | + | Default BMC login information is contained in the [[:File:T2P9D01 users guide version 1 0.pdf|User's Guide]]. | |
− | == | + | ==Updating the OpenPOWER firmware== |
− | The host PNOR device, which contains | + | The host PNOR flash device, which contains the OpenPOWER firmware ([[Hostboot]], [[Skiboot]], and other host-level firmware components required to [[IPL|IPL]] your POWER9 system), can be modified in its entirety via the BMC. |
− | With chassis power off, but standby power on, transfer the upgrade .pnor file to the BMC's /tmp/ directory. | + | With chassis power off, but standby power on, transfer the upgrade <tt>.pnor</tt> file to the BMC's <tt>/tmp/</tt> directory. Once the transfer is complete, log in to the BMC via SSH. |
Execute the following command: | Execute the following command: | ||
− | pflash -E -p /tmp/<your PNOR file> | + | root@talos:~# pflash -E -p /tmp/<your PNOR file> |
For all currently released system package versions, also execute the following command: | For all currently released system package versions, also execute the following command: | ||
− | pflash -P CVPD -c | + | root@talos:~# pflash -P CVPD -c |
− | If no errors occur with either command, the upgrade is complete. | + | If no errors occur with either command, the upgrade is complete. You may now power on and use your updated system. |
− | The host may power itself off and back on | + | The host may power itself off and back on up to two times before booting into the OS; this is normal after a firmware update. |
− | == FPGA == | + | ==Updating the FPGA firmware== |
Referencing the schematics provided on the included DVD, carefully connect your SPI programmer to the FPGA programming header. Apply standby power to your system but do not turn it on. | Referencing the schematics provided on the included DVD, carefully connect your SPI programmer to the FPGA programming header. Apply standby power to your system but do not turn it on. | ||
− | Using a current version of [https://www.flashrom.org/Flashrom Flashrom] with the [https://github.com/flashrom/flashrom/commit/0b59b0dafc219ba73ee2af5404ce626575d74c6f upstream] Atmel enablement patch applied, flash the new FPGA firmware binary to the on-board storage device | + | Using a current version of [https://www.flashrom.org/Flashrom Flashrom] with the [https://github.com/flashrom/flashrom/commit/0b59b0dafc219ba73ee2af5404ce626575d74c6f upstream] Atmel enablement patch applied, flash the new FPGA firmware binary to the on-board storage device. |
− | + | Complete the upgrade by removing all power; wait for all LEDs on your system to extinguish, then reapply power. The upgrade is now complete and and you may use your system normally. | |
− | == Troubleshooting == | + | ==Troubleshooting== |
+ | [[Compiling Firmware#Troubleshooting the OpenPOWER firmware|Some hints for resolving firmware-related problems can be found here]]. | ||
− | + | [[Category:Guides]] |
Revision as of 12:33, 2 March 2019
Contents
Purpose
This guide describes how to upgrade the firmware of your RCS OpenPOWER machine.
Applicability
All RCS OpenPOWER systems.
Overview
Your Raptor Computing Systems POWER9 mainboard contains three primary firmware components — a system control FPGA bitstream, the BMC software stack, and the host OpenPOWER firmware (PNOR). The BMC and host PNOR are easily upgradeable over a network connection.
In contrast, the FPGA bitstream is rarely changed. Should an FPGA bitstream update be desired, a direct SPI programming connection to a Flashrom compatible system is required via the provided FPGA programming header.
A list of current firmware versions for each supported product is available on the pages shown below:
While we strongly encourage you to compile your own firmware components from the provided source, we also provide prebuilt firmware images for download. Please note that, in general, the only way to guarantee that you or your organization's security requirements are met is to download and audit the provided source code, then compile from that audited codebase. This is not unique to our systems; the nature of all software is that the binary form may be very difficult to analyze for undesired or unintended operation.
Updating the BMC firmware
Note: The BMC should never need to be fully reprogrammed. Erasing the entire BMC flash device will also erase U-Boot and its associated environment variables, requiring that they be reloaded from information printed on the mainboard itself. In particular, from the factory, the IPMI MAC address is stored in both the U-Boot loader via the default environment variable string, and the currently active U-Boot environment variables. This IPMI MAC address may also be found on the mainboard below CPU0 should you need to reprogram it for any reason.
The preferred method of updating the BMC is to take the BMC update files that you have either compiled or obtained from official Raptor Computing Systems sources, and to upload them to the BMC. Once uploaded, the BMC is able to self-update.
This procedure can be done with the host powered on, but it might result in artifacts such as power button starting to blink until the host is rebooted.
Transfer update files
Perform the upgrade by transferring the following two files to /run/initramfs/ on the BMC:
- image-kernel
- image-rofs
scp or any similar utility is capable of transferring the upgrade files. To avoid running out of disk space by placing these files in temporary directories, you can transfer them directly into /run/initramfs/ with something like scp image-{kernel,rofs} root@$TALOS_BMC_ADDR:/run/initramfs/.
Apply update
After transfer, reboot the BMC via the reboot command over SSH or the local BMC serial console. The firmware update will be applied automatically.
Default BMC login information is contained in the User's Guide.
Updating the OpenPOWER firmware
The host PNOR flash device, which contains the OpenPOWER firmware (Hostboot, Skiboot, and other host-level firmware components required to IPL your POWER9 system), can be modified in its entirety via the BMC.
With chassis power off, but standby power on, transfer the upgrade .pnor file to the BMC's /tmp/ directory. Once the transfer is complete, log in to the BMC via SSH.
Execute the following command:
root@talos:~# pflash -E -p /tmp/<your PNOR file>
For all currently released system package versions, also execute the following command:
root@talos:~# pflash -P CVPD -c
If no errors occur with either command, the upgrade is complete. You may now power on and use your updated system.
The host may power itself off and back on up to two times before booting into the OS; this is normal after a firmware update.
Updating the FPGA firmware
Referencing the schematics provided on the included DVD, carefully connect your SPI programmer to the FPGA programming header. Apply standby power to your system but do not turn it on.
Using a current version of Flashrom with the upstream Atmel enablement patch applied, flash the new FPGA firmware binary to the on-board storage device.
Complete the upgrade by removing all power; wait for all LEDs on your system to extinguish, then reapply power. The upgrade is now complete and and you may use your system normally.
Troubleshooting
Some hints for resolving firmware-related problems can be found here.