TFTP for Xilinx ZCU106

Setup in Petalinux

  1. Launch the top-level system configuration menu.
1
petalinux-config
  1. Select Image Packaging Configuration.

  2. Select Copy final images to tftpboot and set tftpboot directory. By default, the TFTP directory ID is /tftpboot. Ensure this matches the TFTP server setup of your host.

  3. Build the project

Setup the FPGA into JTAG mode

Config the FPGA into JTAG mode.
test

Boot from ethernet

1
petalinux-boot --jtag --u-boot --fpga --bitstream images/linux/system.bit

Log

Connect to the ZCU106 through the UART.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Release 2020.2   Jan  7 2024  -  21:10:37
NOTICE: ATF running on XCZU7EV/silicon v4/RTL5.1 at 0xfffea000
NOTICE: BL31: v2.2(release):xlnx_rebase_v2.2_2020.3
NOTICE: BL31: Built : 21:09:55, Jan 7 2024


U-Boot 2020.01 (Jan 07 2024 - 21:11:18 +0000)

Model: ZynqMP ZCU106 RevA
Board: Xilinx ZynqMP
DRAM: 4 GiB
PMUFW: v1.1
EL Level: EL2
Chip ID: zu7ev
NAND: 0 MiB
MMC: mmc@ff170000: 0
In: serial@ff000000
Out: serial@ff000000
Err: serial@ff000000
Bootmode: JTAG_MODE
Reset reason: EXTERNAL
Net:
ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id

Warning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
Hit any key to stop autoboot: 0
JTAG: Trying to boot script at 0x20000000
## Executing script at 20000000
Wrong image format for "source" command
JTAG: SCRIPT FAILED: continuing...
starting USB...
Bus dwc3@fe200000: usb maximum-speed not found
Register 2000440 NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus dwc3@fe200000 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
ethernet@ff0e0000 Waiting for PHY auto negotiation to complete........... done
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
DHCP client bound to address 10.42.0.65 (766 ms)
*** Warning: no boot file name; using '0A2A0041.img'
Using ethernet@ff0e0000 device
TFTP from server 10.42.0.1; our IP address is 10.42.0.65
Filename '0A2A0041.img'.
Load address: 0x8000000
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-00-0a-35-07-13-54
Using ethernet@ff0e0000 device
TFTP from server 10.42.0.1; our IP address is 10.42.0.65
Filename 'pxelinux.cfg/01-00-0a-35-07-13-54'.

Issue

The boot of linux is OK. But when I enable packagegroup-core-buildessential-dbg and packagegroup-core-buildessential-dev in rootfs, I came across the error boot.scr.uimg not found.