ZCU102 SD Card Setup
Published:
This post will introduce setting up ZCU102 evaluation kit with Linux boot from SD card
I. Operation system
Ubuntu 18.04 LTS
II. Tools
1. Xilinx Vivado 2019.1
2. Xilinx Vivado HLS 2019.1
3. Xilinx SDK 2019.1
4. Xilinx PetaLinux 2019.1
III. Source code
1. Linux kernel
2. U-boot
3. Device tree
4. ARM Trusted Firmware
IV. Prepare boot image from source
Refer to the similar process for ZCU106 evaluation board (here), the only differences are the u-boot and device tree.
For ZCU102 u-boot, use ‘make xilinx_zynqmp_zcu102_revA_defconfig’ to initiate the u-boot configuration.
For ZCU102 device tree, either choose zcu102 board in vivado to generate the device tree or find built device tree at “linux-xlnx/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dtb” or “u-boot-xlnx/arch/arm/dts/zynqmp-zcu102-revA.dtb”).
V. Prepare boot image from PetaLinux
Refer to the similar process for ZCU106 evaluation board (here), the only difference is using the bsp for ZCU102 to create the petalinux project.
For create petalinux project for zcu102, download the ‘xilinx-zcu102-v2019.1-final.bsp’ from Xilinx and execute command ‘petalinux-create -t project -s ${path-to-source}/xilinx-zcu102-v2019.1-final.bsp’. Note that ‘path-to-source’ refers to the direction where the bsp is placed.
VI. Prepare SD card
It is the same process as ZCU106 evaluation board here.
Additionally, instead of using the root file system from Xilinx, the generic debian or ubuntu version can be found at https://rcn-ee.com/ or http://cdimage.ubuntu.com.
E.g.
a. Copy the debian-11-minimal-arm64-2021-06-20.tar.xz to ext4 partition on SD card and extract it using ‘xz -d debian-11-minimal-arm64-2021-06-20.tar.xz’
b. Extract the rootfs files to ext4 partition using command ‘tar xfvp debian-11-minimal-arm64-2021-06-20.tar ./’
Once the board is boot up, the network needs to be configured through netplan. The easist way is to adopt DHCP configurations. By create a ‘.yaml’ file under ‘/etc/netplan’ with context:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
use ‘netplay apply’ to apply the configuration and use ‘ip route show’ to check the network setting.
More detail can be found on Ubuntu Network Configuration document (here).
Ubuntu has provided official sysroot files for Xilinx Ultrascale+ MPSoC Evaluation boards. Details can be found (here).
V Xilinx Reference
Some known issues
In case meeting the issue of “pmu-fw is not running”, it can be solved by following the pictures bellow and setting the SW6 switch correctly.

