Boot the board

Before booting with QNX OS, you'll have to first manually flash U-Boot to microSD card. For more information, see Flash U-boot to SD card

After the target boots, you can run U-Boot commands to load QNX IFS and DTB from microSD card, then use go commands to Boot QNX OS.

After QNX OS starts, if you copy QNX IFS and DTB from microSD card and flash u-boot to on-board eMMC, then after another reset, you can boot the QNX IFS from the on-board eMMC.

Note:
Utilities like fdisk and mkdosfs etc. need to be fetched from your QNX SDP installation.
  1. Insert the microSD card to your board and power up the board. U-Boot should boot as seen from the output on your serial console.
    U-Boot SPL 2023.04 (Apr 23 2024 - 06:55:08 +0000)
    SOC: 0xa1009300
    LC: 0x2040010
    PMIC: Over Drive Voltage Mode
    SoM: PCL-077-23231211I000.A1 PCB rev: 1
    M33 prepare ok
    Normal Boot
    WDT:   Started wdog@42490000 with servicing every 1000ms (40s timeout)
    Trying to boot from BOOTROM
    Boot Stage: Primary boot
    image offset 0x8000, pagesize 0x200, ivt offset 0x0
    Load image from 0x55800 by ROM_API
    NOTICE:  BL31: v2.8(release):lf-6.1.55-2.2.0-0-g08e9d4eef
    NOTICE:  BL31: Built : 06:43:30, Nov 21 2023
    
    
    U-Boot 2023.04 (Apr 23 2024 - 06:55:08 +0000)
    
    CPU:   i.MX93(52) rev1.1 1700 MHz (running at 1692 MHz)
    CPU:   Industrial temperature grade (-40C to 105C) at 33C
    Reset cause: POR (0x1)
    Model: PHYTEC phyBOARD-Nash-i.MX93
    DRAM:  2 GiB
    Core:  215 devices, 28 uclasses, devicetree: separate
    WDT:   Started wdog@42490000 with servicing every 1000ms (40s timeout)
    MMC:   FSL_SDHC: 0, FSL_SDHC: 1
    Loading Environment from MMC... OK
    In:    serial
    Out:   serial
    Err:   serial
    
    BuildInfo:
      - ELE firmware version 0.1.0-44880904
    
    flash target is MMC:1
    Net:   eth0: ethernet@42890000
    Fastboot: Normal
    Normal Boot
    Hit any key to stop autoboot:  0
                    
  2. Press any key on your keyboard to cancel the auto-boot command.
    Hit any key to stop autoboot:  0
    uboot=>
                    
  3. Run the U-Boot commands to load QNX IFS and board device tree from the mmc i.e. the external microSD card then use go command to boot to QNX OS. For example:
    u-boot=> load mmc 1:1 0x80800000  ifs-imx93-phyboard-nash.raw
    12936456 bytes read in 146 ms (84.5 MiB/s)
    u-boot=> load mmc 1:1 0x80600000  imx93-phyboard-nash.dtb
    50254 bytes read in 5 ms (9.6 MiB/s)
    u-boot=> go 80800000 80600000
    ## Starting application at 0x80800000 ...
    board_smp_num_cpu: 2 cores
    board_smp_num_cpu: 2 cores
    board_smp_num_cpu: 2 cores
    
    Welcome to QNX 8.0.0 on PHYTEC-phyBOARD-Nash-i.MX93 !
    
    Starting Watchdog driver...
    Starting I2C driver ...
    Setting OS clock from RTC ...
    Starting CAN driver (/dev/can1/*)...
    Starting Serial driver (/dev/ser1)...
    Starting Serial driver (/dev/ser7)...
    Starting SPI master driver ...
    Starting eMMC driver (/dev/emmc0)...
    Starting SD2 memory card driver (/dev/sd0)...
    Path=0 - imx
     target=0 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
     target=1 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
     target=2 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
     target=3 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
     target=4 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
     target=5 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
     target=6 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
     target=7 lun=0     Direct-Access(0) - SDMMC: DA6032 Rev: 0.1
    Starting OTG1 and OTG2 controllers in host mode ....
    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 -mr
           2 pipe
       20483 slogger2
       20484 dumper
       20485 mqueue
       20486 random
       20487 wdtkick -t 5000
       20488 i2c-lpi2c -v -I0
       20489 i2c-lpi2c -v -I1
       24586 devcan-flexcan -h -M -b250K -u1 can1
       24587 devc-sermx8 -e -F -S -u 1 0x44380000,51
       24588 devc-sermx8 -F -S -u 7 0x42690000,242
       24589 spi-imx8lpspi
       24590 devb-sdmmc-mx8x cam cache,quiet sdmmc partitions=on blk
       ra=64k:2048k,memory=sysram&below4G:sysram,maxio=256,cache=4m disk name=emmc
       sdio idx=0,~ac12,emmc,bw=8,verbose=1
       24591 devb-sdmmc-mx8x cam pnp,cache,quiet blk
       ra=64k:2048k,memory=sysram&below4G:sysram,maxio=256,cache=4m disk name=sd
       sdio idx=1,bs=io=rgpio:cd=0x43820000^00^91,verbose=1
       24592 io-usb-otg -t memory=/memory/below4G -dhcd-ehci-mx28
       ioport=0x4C100100,irq=219,phy=0x4C100000,ioport=0x4C200100,irq=220,phy=0x4C200000
       24593 devb-umass cam pnp dos exe=all disk name=umass
       24595 devf-ram -i 9,0 -s0,16m
       65554 io-sock -m phy -m fdt -m phy_fdt -d ffec -m usb -d axe -d axge -d cdce -d smsc
       65558 dhcpcd: [manager] [ip4] [ip6] -bqq
      106519 /usr/sbin/sshd
      114708 devc-pty
      114709 qconn
      118808 ksh
      127001 pidin ar
    #
    # uname -a
    QNX localhost 8.0.0 2024/06/13-12:41:10EDT PHYTEC-phyBOARD-Nash-i.MX93 aarch64le
                    
  4. After you've booted your board using the microSD card, you can choose to prepare the eMMC to boot using the U-Boot and QNX IFS image. For more information, see Boot from an eMMC memory device

Page updated: