Install QNX IFS

QNX Board Support Packages8.0BSP User's GuideAMD Versal AI Edge VE2302AMDAMDARM
The following steps describe how to install QNX IFS from your microSD card. Before you can complete these steps, you must prepare the microSD card. For more information, see the Prepare the microSD card to install QNX IFS section in this chapter for more information.

Insert the microSD card into the TE0950 card reader slot J4.

  1. Connect a USB cable from your VE2302 AI Edge board target board to your host system.
  2. Switch the board to boot from microSD card. Set switch S2.1=0, S2.2=1, S2.3=0, and S2.4=0.
  3. Connect the VE2302 AI Edge board board to the power supply. To reset the board, press the reset button S3.
  4. On your host machine, start your favorite terminal program with these settings:
    • Baud rate: 115200
    • Data: 8 bit
    • Parity: none
    • Stop: 1 bit
    • Flow control: none
  5. After the power is turned on, output appears on the terminal console. U-Boot will load QNX IFS from the microSD card.
    # [0.020]****************************************
    [0.061]Xilinx Versal Platform Loader and Manager
    [0.105]Release 2023.2   May 31 2024  -  09:03:54
    [0.150]Platform Version: v2.0 PMC: v2.0, PS: v2.0
    [0.202]BOOTMODE: 0x5, MULTIBOOT: 0xF0000000
    [0.246]****************************************
    [0.515]Non Secure Boot
    [4.240]PLM Initialization Time
    [4.275]***********Boot PDI Load: Started***********
    [4.325]Loading PDI from SD1
    [4.358]Monolithic/Master Device
    [278.785]274.450 ms: PDI initialization time
    [278.836]+++Loading Image#: 0x1, Name: lpd, Id: 0x04210002
    [278.898]---Loading Partition#: 0x1, Id: 0xC
    [332.439] 53.481 ms for Partition#: 0x1, Size: 10080 Bytes
    [337.322]---Loading Partition#: 0x2, Id: 0x0
    [349.702] 8.559 ms for Partition#: 0x2, Size: 58000 Bytes
    PSM Firmware version: 2023.2 [Build: May 31 2024 09:28:39 ]
    [357.032]+++Loading Image#: 0x2, Name: pl_cfi, Id: 0x18700000
    [362.223]---Loading Partition#: 0x3, Id: 0x3
    [758.298] 392.252 ms for Partition#: 0x3, Size: 2727072 Bytes
    [760.792]---Loading Partition#: 0x4, Id: 0x5
    [859.073] 94.458 ms for Partition#: 0x4, Size: 444640 Bytes
    [861.416]+++Loading Image#: 0x3, Name: fpd, Id: 0x0420C003
    [866.377]---Loading Partition#: 0x5, Id: 0x8
    [872.426] 2.227 ms for Partition#: 0x5, Size: 4528 Bytes
    [875.363]+++Loading Image#: 0x4, Name: apu_subsystem, Id: 0x1C000000
    [880.802]---Loading Partition#: 0x6, Id: 0x0
    [893.981] 9.356 ms for Partition#: 0x6, Size: 67632 Bytes
    [896.144]---Loading Partition#: 0x7, Id: 0x0
    [1044.534] 144.567 ms for Partition#: 0x7, Size: 1096032 Bytes
    [1047.113]---Loading Partition#: 0x8, Id: 0x0
    [1057.226] 6.210 ms for Partition#: 0x8, Size: 43488 Bytes
    ***********-A *******Boot PDI load: Don
    [1063.875]110.606 ms: ROM Time
    [1066.517]Total PLM Boot Time
    INFO:    BL31: GET_HANDOFF_PARAMS call success=0
    INFO:    BL31: PLM to TF-A handover success 0
    NOTICE:  BL31: Secure code at 0x0
    NOTICE:  BL31: Non secure code at 0x8000000
    NOTICE:  BL31: v2.8(debug):xlnx_rebase_v2.8_2023.2_ksb_aug
    NOTICE:  BL31: Built : 12:21:43, Aug 31 2023
    INFO:    GICv3 with legacy support detected.
    INFO:    ARM GICv3 driver initialized in EL3
    INFO:    Maximum SPI INTID supported: 191
    INFO:    BL31: Initializing runtime services
    INFO:    BL31: cortex_a72: CPU workaround for 859971 was applied
    INFO:    BL31: cortex_a72: CPU workaround for 1319367 was applied
    INFO:    BL31: cortex_a72: CPU workaround for cve_2017_5715 was applied
    INFO:    BL31: cortex_a72: CPU workaround for cve_2018_3639 was applied
    INFO:    BL31: cortex_a72: CPU workaround for cve_2022_23960 was applied
    INFO:    BL31: Preparing for EL3 exit to normal world
    INFO:    Entry point address = 0x8000000
    INFO:    SPSR = 0x3c9
    
    
    U-Boot 2023.01 (Sep 21 2023 - 11:02:37 +0000)
    
    CPU:   Versal
    Silicon: v2
    Chip:  v2
    Model: Xilinx Versal
    DRAM:  2 GiB (effective 8 GiB)
    EL Level:       EL2
    Core:  48 devices, 23 uclasses, devicetree: board
    MMC:   mmc@f1040000: 0, mmc@f1050000: 1
    Loading Environment from FAT... Unable to use mmc 0:1...
    In:    serial@ff010000
    Out:   serial@ff010000
    Err:   serial@ff010000
    Bootmode: SD_MODE1
    Net:
    ZYNQ GEM: ff0c0000, mdio bus ff0c0000, phyaddr 1, interface rgmii-id
    eth0: ethernet@ff0c0000
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc1 is current device
    Scanning mmc 1:1...
    Found U-Boot script /boot/boot.scr
    366 bytes read in 25 ms (13.7 KiB/s)
    ## Executing script at 20000000
    starting USB...
    Bus usb@fe200000: Register 1000440 NbrPorts 1
    Starting the controller
    USB XHCI 1.10
    scanning bus usb@fe200000 for devices... 1 USB Device(s) found
            scanning usb for storage devices... 0 Storage Device(s) found
    Device: mmc@f1050000
    Manufacturer ID: 27
    OEM: 5048
    Name: SD32G
    Bus Speed: 50000000
    Mode: SD High Speed (50MHz)
    Rd Block Len: 512
    SD version 3.0
    High Capacity: Yes
    Capacity: 28.9 GiB
    Bus Width: 4-bit
    Erase Group Size: 512 Bytes
    13539136 bytes read in 1161 ms (11.1 MiB/s)
    ## Booting kernel from Legacy Image at 00100000 ...
        Image Name:
        Image Type:   AArch64 Linux Kernel Image (uncompressed)
        Data Size:    13539072 Bytes = 12.9 MiB
        Load Address: 00100000
        Entry Point:  00100000
        Verifying Checksum ... OK
    ## Flattened Device Tree blob at 7dec11b0
        Booting using the fdt blob at 0x7dec11b0
    Working FDT set to 7dec11b0
        Loading Kernel Image
        Loading Device Tree to 000000007dead000, end 000000007deba9df ... OK
    Working FDT set to 7dead000
    
    Starting kernel ...
    
    Versal VE2302 startup
    init_hwinfo(): Using REF_CLK frequency of 33333333 Hz
    syspage::hypinfo::flags=0x00000000
    
    Welcome to QNX 8.0.0 on Versal_VE2302 !
    
    Starting clock manager...
    Starting I2C driver ...
    Setting OS clock from RTC ...
    Starting serial driver (/dev/ser2)
    Starting SDMMC driver for SD card (SDIO1)...
    Starting eMMC driver (/dev/emmc0)...
    Starting RAM block driver ...
    Starting USB host driver ...
    Path=0 -
        target=0 lun=0     Direct-Access(0) - ram  Rev:
    Path=0 - xzynq
        target=0 lun=0     Direct-Access(0) - SDMMC: SD32G Rev: 6.0
    Path=0 - xzynq
        target=0 lun=0     Direct-Access(0) - SDMMC: DG4032 Rev: 0.1
    Starting devb-umass ...
    Starting devf-ram filesystem ...
    Starting networking ...
    Starting DHCP client ...
    Starting SSH daemon ...
    Starting devc-pty manager ...
    Starting qconn daemon ...
    Starting shell ...
    #
                    

Once QNX OS is running, you can test it by executing any shell commands, or any commands residing within the OS image, such as uname, pidin, mount, etc.

# pidin ar
     pid Arguments
       1 procnto-smp-instr -v
       2 pipe
   20483 slogger2
   20484 dumper
   20485 mqueue
   20486 random
   20487 clock-versal -v
   20488 i2c-xzynq-versal -p0xFF020000 -i46
   20489 i2c-xzynq-versal -p0xFF030000 -i47
   20490 i2c-xzynq-versal -p0xF1000000 -i155
   32780 devc-serpl011 -e -F -c 99999999 -b115200 -u2 0xFF010000^2,51
   40971 devb-sdmmc-xzynq sdio addr=0xF1050000,irq=160,timing=~hs
   40973 devb-sdmmc-xzynq sdio addr=0xf1040000,irq=158,emmc disk name=emmc
   40975 io-usb-otg -d hcd-xzynq-xhci ioport=0xFE200000,irq=54,nousb3
   40976 devb-umass cam pnp dos exe=all disk name=umass
   40978 devf-ram -i 9,0 -s0,16m
   81937 io-sock -m phy -m fdt -m phy_fdt -d marvell_phy -d cgem -m usb -d axe -d axge -d cdce -d smsc
   81941 dhcpcd: [manager] [ip4] [ip6] -bqq
  122902 /usr/sbin/sshd
  131091 devc-pty
  131092 qconn
  135191 ksh
  163854 devb-ram ram capacity=256,address=0xfffc0000 disk name=ocm
  167960 pidin ar
# uname -a
QNX localhost 8.0.0 2025/07/30-19:17:34EDT Versal_VE2302 aarch64le
#
        
Page updated: