ZCU102 SD Card Setup

2 minute read

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.

alt text