Kria SOM Boot Firmware Update
This page provides links to boot firmware downloads for K26 and K24. It also provide the boot firmware update process via xmutil or image recovery tool.
Boot Firmware Downloads
K26 Boot Firmware Updates
The K26 Starter Kits have factory pre-programmed boot firmware that is installed and maintained in the SOM QSPI device. Occasionally firmware updates will be made available in the table below which can be updated from Linux using the “xmutil bootfw_update” on-target utility. The starter kits supports an A/B update mechanism to ensure that the platform has a known good fallback in the event of an issue during the upgrade process. The on-target utility will update the new boot firmware (BOOT.BIN file) into the non-active slot and then set the firmware to become active on the next boot cycle.
K26 Starter Kit boot firmware has evolved to a Yocto based flow for generation and maintenance. This transition is reflected with a migration to semantic based versioning for the images and what is reported in the bootfw_status string. The Yocto generated images are later updates than those noted under the “legacy” boot firmware versions, which references the AMD-Xilinx 202X.Y tools versioning methodology.
Kria Boot FW Image | Description | Kits Supported | Download Link | Note |
---|---|---|---|---|
K26 Boot FW 1.02 | K26 Starter Kit Boot FW Update - Updates components to 2023.2 code base | KV260, KR260 | Yocto-generated, semantic versioning | |
K26 Boot FW 1.01 | K26 Starter Kit Boot FW Update - Improves USB5744 I2C driver | KV260, KR260 | Yocto-generated, semantic versioning | |
2022.2 Boot FW update | Unified FW for KV260 and KR260 Starter Kits. Required update for precision time application. | KV260, KR260 | PetaLinux-generated, legacy versioning | |
2022.1 Boot FW Update | Unified FW for KV260 and KR260 Starter Kits. Addresses KR260 USB2.0 interfaces on U46 connector stack. Addresses KR260 PS Ethernet functionality on J10C physical interface. Fixes Linux WOL functionality for KR260 SGMII interface. Workaround for vai-lab chipset based USB hub. | KV260, KR260 | PetaLinux-generated, legacy versioning | |
2021.1 Boot FW Update | KV260 boot FW update to address potential platform SW reboot induced failure. Behavior is reboot is not successful as PS power domain is unintentionally disabled. NOTE: This update is atomic (does not required Update 1 to be installed prior) | KV260 | PetaLinux-generated, legacy versioning | |
2020.2.2 Boot FW Update | PLL configuration update to support Smart Cam audio PLL requirement. | KV260 | PetaLinux-generated, legacy versioning |
K24 Boot Firmware Updates
The K24 Starter Kits have factory pre-programmed boot firmware that is installed and maintained in the SOM QSPI device. Occasionally firmware updates will be made available in the table below which can be updated from Linux using the “xmutil bootfw_update” on-target utility. The starter kits supports an A/B update mechanism to ensure that the platform has a known good fallback in the event of an issue during the upgrade process. The on-target utility will update the new boot firmware (BOOT.BIN file) into the non-active slot and then set the firmware to become active on the next boot cycle.
Kria Boot FW Image | Description | Kits Supported | Download Link | Notes |
---|---|---|---|---|
K24 Boot FW 1.02 | K24 Starter Kit Boot FW Update - Updates components to 2023.2 code base | KD240 | Yocto-generated, semantic versioning | |
K24 Boot FW 1.01 | KD240 Boot FW Update - Adds TPM reset HW option capability, improves USB5744 I2C driver | KD240 | Yocto-generated, semantic versioning | |
K24 Boot FW 1.00 | KD240 Boot FW Update - Adds CAN and RS485 interface subsystem enablement | KD240 | Yocto-generated, semantic versioning |
Boot FW Update Process
For an overview of the Kria Starter Kit A/B boot and primary (QSPI) to secondary (SD card) boot architecture see the Boot Firmware section of the Kria App Developer Guide. For more details on Boot Firmware, see boot firmware section in github.io. The following section provides user facing instructions for using the utilities put in place around this A/B boot architecture to deploy boot FW updates to your platform.
Boot FW management via xmutil
The SOM on-target management utility xmutil provides bootfw_update and bootfw_status utility for updating and checking the status of the boot FW from Linux.
Ubuntu 20.04 users note that xmutil is distributed as part of the Xilinx “Snap” and thus the example calls above must be pre-appended with “xlnx-config”. For example “xlnx-config --xmutil bootfw_status”. For details on the Ubuntu 20.04 xlnx-config snap please see this Wiki.
Boot FW update with xmutil
The xmutil provides a utility to help in the update of the on-target boot firmware with the following steps:
Download the boot firmware update from the table above. It should be a Xilinx BOOT.BIN file.
Move the BOOT.BIN file to the SOM Starter Kit target using FTP (or similar method). Note when copying file remotely you must copy it to the petalinux user directory.
Execute the A/B update process through these steps
Execute “sudo xmutil bootfw_update -i <path to boot.bin>”.
The tool returns the image (A or B) that is updated, and is marked for boot on the next boot.
You can verify the updated status of the boot firmware using the
sudo xmutil bootfw_status
utility.
After the BOOT.BIN image write is completed the SoC device needs to be reset (POR_B). This can be accomplished by pressing the RESET push-button on the carrier card, power cycling the board, or with 2023.2 or later version of the Linux bootfw_update utility a Linux “sudo reboot” will handle the reset.
After restart it is required by the user verify that Linux fully boots with the new boot FW to verify functionality. This is completed by executing “sudo xmutil bootfw_update -v” to validate successful boot against the new firmware. Note this must be completed on the platform restart immediately following the update, else the platform will fall back to the other boot partition on the next restart.
Boot FW status with xmutil
The xmutil also provides a “bootfw_status” command which can be used to identify which image is active, which image was last booted, and what image is going to be booted on the next boot. The version information noted from bootfw_status represents the factory installed version and will not change when you update individual boot partitions.
Users can also tell which image was booted at start-up based on the reported by FSBL console message that noting the MultiBootOffset.
MultiBootOffset: 0x40 -> “Image A”
MultiBootOffset: 0x1F0 -> “Image B”
Boot Image Recovery Tool
The Kria Starter Kit boot firmware pre-programmed into QSPI is comprised of an “Image Selector” application, A/B MPSoC boot FW partitions, and an “Boot Image Recovery Tool” application. It is suggested for users to use the xmutil boot FW update tool as the primary boot FW update mechanism. If the user however gets to a state where they either want to reset the board to factory settings they can use the “Boot Image Recovery Tool” which is a stand alone, ethernet-based application for manually loading and configurating content of both A and B boot partitions. User can also use this tool when customizing the platforms boot firmware with their own BOOT.BIN
generated through the Xilinx Vitis / PetaLinux / Yocto tools.
The boot image recovery tool (more details here) provides a simple Ethernet-based interface and application for updating the boot firmware. It works in a similar manner to typical home router initial configuration with a static IP and web-server based tool which is used to update the A/B partitions and the persistent register states. This tool can be used to write the a factory BOOT.BIN image from the Starter Kit Boot FW table above to overwrite chosen image partitions using the “Recover Image” function. The tool can also be used to modify the bootable state of each partition. Uploading a BOOT.BIN the tool will configure that partition to a “bootable” state.
This application and interface is initiated by holding the firmware update button during the power-on sequence. The application uses a fixed IP address of 192.168.0.111. The static IP is printed to the UART when the system is powered on with the FWUEN button pressed. The following figure shows an overview of the set-up.
To use the Boot Image Recovery Tool, follow these steps:
Starter Kit | Ethernet Port for Boot Image Recovery Tool | ZynqMPSoC resources |
---|---|---|
KV260 | J10 | GEM3 on PS |
KR260 | J10C | GEM1 on PS |
KD240 | J24 | GEM1 on PS |
Connect the PC to the Kria Starter Kit via Ethernet as shown in figure above. Ensure that the system is connected to the correct Ethernet port for the chosen Starter Kit (see table above). The other ports will not work for platform recovery.
Set the PC to a static IP address that is on the same subnet as the recovery tool (192.168.0.XYZ), but not 192.168.0.111.
Hold the firmware update button when powering on the device. You should also see the UART print outs from the recovery application.
Use a web-browser (e.g., Chrome or Firefox) on the PC to navigate to the URL
http://192.168.0.111
for access to the Ethernet recovery tool.Use the Ethernet recovery tool GUI in the web-browser to update either the A or B boot firmware partitions with a
BOOT.BIN
file from the file system on the PC. The Ethernet recovery tool interface is shown in the following figure.
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy