1. Linux kernel
2. U-boot
3. Device tree
Refer to the similar process for ZCU106 evaluation board (here), the only differences are the u-boot and device tree.
For ZCU104 u-boot, use 'make xilinx_zynqmp_zcu104_revA_defconfig' to initiate the u-boot configuration.
For ZCU104 device tree, either choose zcu104 board in vivado to generate the device tree or find built device tree at "linux-xlnx/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dtb" or "u-boot-xlnx/arch/arm/dts/zynqmp-zcu104-revA.dtb").
Refer to the similar process for ZCU106 evaluation board (here), the only difference is using the bsp for ZCU104 to create the petalinux project.
For create petalinux project for zcu104, download the 'xilinx-zcu104-v2019.1-final.bsp' from Xilinx and execute command 'petalinux-create -t project -s ${path-to-source}/xilinx-zcu104-v2019.1-final.bsp'. Note that 'path-to-source' refers to the direction where the bsp is placed.
It is the same process as ZCU106 evaluation board here. Please note, only kernel version from tag xilinx-v2020.1 has the hardware monitor driver for Infineon IRPS5401.
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).