The following examples demonstrate the correct usage of the petalinux-boot qemu command.
- Load and boot a prebuilt U-Boot elf using
QEMU.
$ petalinux-boot --qemu --prebuilt 2 [NOTE] Argument: "--qemu" has been deprecated. It is recommended to start using new python command line Argument. [NOTE] Use: petalinux-boot qemu [OPTIONS] [INFO] Set QEMU tftp to "/tftpboot" [INFO] qemu-system-microblazeel -M microblaze-fdt -serial mon:stdio -serial /dev/null -display none -kernel <proot>/pre-built/linux/images/pmu_rom_qemu_sha3.elf -device loader,file=<proot>/pre-built/linux/images/pmufw.elf -hw-dtb <proot>/pre-built/linux/images/zynqmp-qemu-multiarch-pmu.dtb -machine-path /tmp/tmpg5n96ryt -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 & [INFO] qemu-system-aarch64 -M arm-generic-fdt -serial mon:stdio -serial /dev/null -display none -device loader,file=<proot>/pre-built/linux/images/system.dtb,addr=0x100000,force-raw=on -device loader,file=<proot>/pre-built/linux/images/u-boot.elf -device loader,file=<proot>/pre-built/linux/images/bl31.elf,cpu-num=0 -hw-dtb <proot>/pre-built/linux/images/zynqmp-qemu-multiarch-arm.dtb -gdb tcp:localhost:9000 -nic hubport,hubid=0 -nic hubport,hubid=0 -nic hubport,hubid=0 -nic hubport,hubid=0 -netdev user,id=eth,tftp=/tftpboot -netdev hubport,id=h0,netdev=eth,hubid=0 -machine-path /tmp/tmpg5n96ryt -global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true -m 4G qemu-system-microblazeel: info: QEMU waiting for connection on: disconnected:unix:qemu-rport-_pmu@0,server=on QEMU 8.2.7 monitor - type 'help' for more information (qemu) PMU Firmware 2026.1 May 15 2026 09:05:14 PMU_ROM Version: xpbr-v8.1.0-0 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: unknown 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 Reset reason: Net: ZYNQ GEM: ff0e0000, mdio bus ff0e0000, phyaddr 12, interface rgmii-id Warning: ethernet@ff0e0000 (eth0) using random MAC address - 4e:d7:ef:fd:12:7f eth0: ethernet@ff0e0000 scanning bus for devices... SATA link 0 timeout. SATA link 1 timeout. AHCI 0001.0000 32 slots 2 ports 1.5 Gbps 0x3 impl SATA mode flags: 64bit ncq only starting USB... Starting the controller USB XHCI 1.00 Bus usb@fe200000: 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 0 JTAG: Trying to boot script at 20000000 ## Executing script at 20000000 Wrong image format for "source" command JTAG: SCRIPT FAILED: continuing... DHCP client bound to address 10.0.2.15 (6 ms) missing environment variable: pxeuuid Retrieving file: pxelinux.cfg/01-4e-d7-ef-fd-12-7f Using ethernet@ff0e0000 device TFTP from server 10.0.2.2; our IP address is 10.0.2.15 Filename 'pxelinux.cfg/01-4e-d7-ef-fd-12-7f'. Load address: 0x10000000 Loading: TFTP error: 256 (File not found) ... Config file not found ... ZynqMP> - Load and boot a prebuilt U-Boot elf using QEMU in root
mode.
petalinux-boot --qemu --root --prebuilt 2 - Specify the cpio rootfile systemf for QEMU boot. Supports Zynq, Zynq UltraScale+ MPSoC, and MicroBlaze.
- Boot customized rootfs image with kernel using
QEMU:
$ petalinux-boot --qemu --kernel --qemu-no-gdb --tftp images/linux/ [NOTE] Argument: "--qemu" has been deprecated. It is recommended to start using new python command line Argument. [NOTE] Use: petalinux-boot qemu [OPTIONS] [INFO] Set QEMU tftp to "images/linux/" [INFO] qemu-system-microblazeel -M microblaze-fdt -serial mon:stdio -serial /dev/null -display none -kernel <proot>/images/linux/pmu_rom_qemu_sha3.elf -device loader,file=<proot>/images/linux/pmufw.elf -hw-dtb <proot>/images/linux/zynqmp-qemu-multiarch-pmu.dtb -machine-path /tmp/tmpzl4wah9r -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 & Image resized. qemu-system-microblazeel: info: QEMU waiting for connection on: disconnected:unix:qemu-rport-_pmu@0,server=on [INFO] qemu-system-aarch64 -M arm-generic-fdt -serial mon:stdio -serial /dev/null -display none -device loader,file=<proot>/images/linux/system.dtb,addr=0x100000,force-raw=on -device loader,file=<proot>/images/linux/u-boot.elf -device loader,file=<proot>/images/linux/Image,addr=0x200000,force-raw=on -device loader,file=<proot>/images/linux/ramdisk.cpio.gz.u-boot,addr=0x4000000,force-raw=on -device loader,file=<proot>/images/linux/bl31.elf,cpu-num=0 -drive if=sd,format=raw,index=1,file=<proot>/images/linux/rootfs.ext4 -hw-dtb <proot>/images/linux/zynqmp-qemu-multiarch-arm.dtb -device loader,file=<proot>/images/linux/boot.scr,addr=0x20000000,force-raw=on -nic hubport,hubid=0 -nic hubport,hubid=0 -nic hubport,hubid=0 -nic hubport,hubid=0 -netdev user,id=eth,tftp=images/linux/ -netdev hubport,id=h0,netdev=eth,hubid=0 -machine-path /tmp/tmpzl4wah9r -global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true -m 4G QEMU 8.2.7 monitor - type 'help' for more information (qemu) PMU Firmware 2026.1 May 15 2026 09:05:14 PMU_ROM Version: xpbr-v8.1.0-0 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: unknown Model: ZynqMP ZCU102 Rev1.0 Board: Xilinx ZynqMP DRAM: 2 GiB (total 4 GiB) ... [ OK ] Reached target Multi-User System. ... PetaLinux 2026.1+release-S05180659 xilinx-zcu102-20261 ttyPS0 xilinx-zcu102-2026.1 login: - Specify this option to disable GDB through QEMU boot