petalinux-boot qemu Examples - petalinux-boot qemu Examples - 2026.1 English - UG1144

PetaLinux Tools Documentation: Reference Guide (UG1144)

Document ID
UG1144
Release Date
2026-06-23
Version
2026.1 English

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