The page provides information about the boot process used by the Certified Ubuntu 20.04 LTS for Xilinx Devices release for the ZCU102, ZCU104, and ZCU106 evaluation boards. While this boot process is hard-coded into the design of the Certified Ubuntu 20.04 LTS for Xilinx Devices it can be useful for debug.
...
Introduction
The Certified Ubuntu 20.04 LTS for Xilinx Devices release contains both a full Ubuntu 20.04 LTS operating system as well as reference PL bitstream configurations for the ZCU102, ZU104, and ZCU106 evaluation boards. The release is provided as a single SD card image that can be used with any of the three boards. This article details how the common image functions so that users can understand it and modify it for their own requirements.
...
The boot process of the Certified Ubuntu 20.04 LTS for Xilinx Devices release makes extensive of the MultiBoot feature of the Zynq UltraScale+ MPSoC device. At power-on (or complete restart via POR_B), the Zynq UltraScale+ MPSoC BootROM first senses the state of the device mode pins (see Boot Modes in Chapter 11 of the Zynq UltraScale+ TRM). When the BootROM detects that it is booting from SD card it searches for a file called BOOT.BIN
on the first FAT/FAT32 partition of the SD card (booting from other boot modes is unsupported). If a file is found by that name it will be used to boot the system. If a file named BOOT.BIN
is not found, the BootROM will append a numeric value starting with 1 to the end of the file name (example: BOOT1.BIN
) and try again. This will continue until a matching file is found, or the maximum tries of 8191 is reached.
For the Certified Ubuntu 20.04 LTS for Xilinx Devices image, the initial BOOT.BIN
on the SD card is unique in that it includes only a single payload partition - a customized First Stage Bootloader (FSBL) binary instead of typical collection of boot artifacts (eg, bitstream, ATF, PMUFW, etc). The binary contained in the initial BOOT.BIN
file is referred to as the Image Selector (ImgSel
) application. You can find the source code for the Image Selector application in the embeddedsw Xilinx Github repository.
...
Golden Images
The Certified Ubuntu 20.04 LTS for Xilinx Devices image includes a special Golden Image for each of the supported evaluation boards. The Golden Image is a known working image that is safe to fall back to in case the Active Image is corrupt or unavailable. The name of the Golden Image should always include a value higher than the Active Image. By default, the value is boot10X1.bin
(see the Boot Image Name section). If you wish to have more than one fallback image, you can modify the filename so long as it does not collide with with the reserved naming scheme for the other images.
The Certified Ubuntu 20.04 LTS for Xilinx Devices release includes a tool called xlnx-config
which manages boot configuration collateral. When a new demo package is installed on a running system, the xlnx-config
utility generates a new boot10x0.bin
file and installs it into the FAT partition. Then, xlnx-config
updates the multiboot register so that the system can be rebooted into the new configuration. For more details on this process, see the xlnx-config page.
...
The ZCU10x evaluation boards boot via an active configuration file called BOOT10x0.BIN
(fallback to golden image called BOOT10x1.BIN
).
Board | Multi-Boot Value | Active Image Filename | Golden Image Filename |
---|---|---|---|
ZCU102 |
|
|
|
ZCU104 |
|
|
|
ZCU106 |
|
|
|
The contents of the active configuration file are described in the table below.
File Name | Load Address | Description |
---|---|---|
|
| Zynq UltraScale+ MPSoC First Stage Boot Loader (FSBL) |
|
| Arm Trusted Firmware (ATF). Loads into EL3. |
| N/A (loaded to PMU) | Platform Management Unit (PMU) Firmware (PMUFW) |
|
| U-Boot Second Stage boot loader. Built by Canonical (located at |
| N/A (programmed to PL) | The Programmable Logic (PL) bitstream |
|
| The Linux device tree that matches the contents of the bitstream |
Info |
---|
The device tree and bitstream image must match in order to ensure all required drivers are properly loaded |
...