Select the images for loading on target from the following:
- Prebuilt directory: <plnx-proj-root>/pre-built/linux/images. These are prebuilt images packed along with the BSP.
- Images directory: <plnx-proj-root>/images/linux. These are the images built by the user.
The following examples demonstrate some use-cases of the petalinux-boot jtag command.
- Download bitstream and FSBL for Zynq 7000
devices, and FSBL and PMU firmware for Zynq UltraScale+ MPSoC
petalinux-boot jtag --prebuilt 1Note: Images are taken from <plnx-proj-root>/pre-built/linux/images directory. - Boot U-Boot on target board after loading bitstream/boot
loader.
petalinux-boot jtag --prebuilt 2Note: Images are taken from <plnx-proj-root>/pre-built/linux/images directory.petalinux-boot jtag --u-boot --fpgaNote: Images are taken from <plnx-proj-root>/images/linux directory.- For MicroBlaze™ processors, the previous commands download the bitstream to the target board, and boot the U-Boot on the target board.
- For Zynq 7000 devices, they download the bitstream and FSBL to the target board, and boot the U-Boot on the target board.
- For Zynq UltraScale+ MPSoC, they download the bitstream, PMU firmware, FSBL, and U-Boot, and boot upto U-Boot on the target board.
- For AMD Versal™ adaptive SoC, they download BOOT.BIN (which contains the PDI, PLM firmware, PSM firmware, U-Boot, and DTB) and boot the U-Boot on the target board.
- Boot prebuilt kernel on target board after loading bitstream, boot loader,
and
U-Boot.
petalinux-boot jtag --prebuilt 3Note: Images are taken from <plnx-proj-root>/pre-built/linux/images directory.petalinux-boot jtag --kernelNote: Images are taken from <plnx-proj-root>/images/linux directory. - Generate debug messages while loading images:
-
petalinux-boot jtag --u-boot/--kernel -vNote: Images are taken from <plnx-proj-root>/images/linux directory. -
For JTAG boot, specify the cpio rootfile system. It supports Zynq, Zynq UltraScale+ MPSoC, Versal, and MicroBlaze.
- Boot customized rootfs image with kernel using JTAG:
$ petalinux-boot --jtag --prebuilt 2 --hw_server-url xhdbfarmrkg5:3121 Zynq MP First Stage Boot Loader Release 2026.1 May 15 2026 - 09:05:14 NOTICE: BL31: Secure code at 0x60000000 NOTICE: BL31: Non secure code at 0x8000000 NOTICE: BL31: v2.14.0(release):v1.1-17686-ge9b1373a7 NOTICE: BL31: Built : 03:57:47, Apr 30 2026 U-Boot 2026.01 (May 13 2026 - 07:47:53 +0000) CPU: ZynqMP Silicon: v3 Chip: zu9eg Model: ZynqMP ZCU102 Rev1.0 Board: Xilinx ZynqMP DRAM: 2 GiB (total 4 GiB) gpio_hog_of_to_plat: wrong gpios property, 2 values needed -22 gpio_hog_of_to_plat: wrong gpios property, 2 values needed -22 EL Level: EL2 Secure Boot: not authenticated, not encrypted Core: 81 devices, 31 uclasses, devicetree: board NAND: 0 MiB MMC: mmc@ff170000: 0 Loading Environment from nowhere... OK In: serial Out: serial,vidconsole Err: serial,vidconsole Bootmode: JTAG_MODE Net: ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id Tools Documentation Reference Guide 244 Warning: ethernet@ff0e0000 (eth0) using random MAC address - f6:45:63:06:10:bc eth0: ethernet@ff0e0000 scanning bus for devices... Warning: ethernet@ff0e0000 (eth0) using random MAC address - f6:45:63:06:10:bceth0: ethernet@ff0e0000scanning bus for devices...SATA link 0 timeout. Target spinup took 0 ms. AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl SATA mode flags: 64bit ncq pm clo only pmp fbss pio slum part ccc apst Device 0: (1:0) Vendor: ATA Prod.: ST3160212SCE Rev: 3.AC Type: Hard Disk Capacity: 152627.8 MB = 149.0 GB (312581809 x 512) starting USB... Bus usb@fe200000: Register 2000440 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus usb@fe200000 for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found Hit any key to stop autoboot: 2 0 ZynqMP> dhcp dhcp 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.10.70.1 (1255 ms) *** Warning: no boot file name; using '0A0A4601.img' Using ethernet@ff0e0000 device TFTP from server 10.10.70.101; our IP address is 10.10.70.1 Filename '0A0A4601.img'. Load address: 0x8000000 Loading: * TFTP error: 'File not found' (1) Not retrying... ZynqMP>- For MicroBlaze processors, the previous commands download the bitstream to the target board, and boot the kernel image on the target board.
- For Zynq 7000 devices, they download the bitstream and FSBL to the target board, and boot the U-Boot and the kernel on the target board.
- For Zynq UltraScale+ MPSoC, they download the bitstream, PMU firmware, and FSBL, and boot the kernel with help of linux-boot.elf to set kernel start and DTB addresses.
- For AMD Versal™ adaptive SoC, they download the BOOT.BIN (which contains the PDI, PLM firmware, PSM firmware, U-Boot, and DTB) and boot the kernel (Image) with the help of U-Boot script (boot.scr).