Install QNX IFS

To manually install QNX OS, you need to copy the QNX IFS image from the microSD card to the internal storage on the board (e.g.: eMMC).

Typically, the board comes pre-installed with U-Boot. If it doesn't, you'll have to first manually install U-Boot. For information, see the steps in Use recovery mode to load the Toradex Easy Installer and Use TEZI to install image to install a Toradex Embedded Linux image in which U-Boot is included.

After the target boots, you can run U-Boot commands to load QNX IFS from microSD card, load FDT file from on-board eMMC, then use go commands to Boot QNX OS.

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

  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 2022.04-6.3.0+git.c71ae7141f30 (May 15 2023 - 16:20:01 +0000)
    DDRINFO: start DRAM init
    DDRINFO: DRAM rate 4000MTS
    Training FAILED
    DDRINFO: start DRAM init
    DDRINFO: DRAM rate 4000MTS
    DDRINFO:ddrphy calibration done
    DDRINFO: ddrmix config done
    DDR configured as single rank
    SEC0:  RNG instantiated
    Normal Boot
    WDT:   Started watchdog@30280000 with servicing (60s timeout)
    Trying to boot from BOOTROM
    Boot Stage: Primary boot
    Find img info 0x4802d800, size 888
    Download 916480, Total size 917440
    NOTICE:  BL31: v2.6(release):lf_v2.6-g3c1583ba0a
    NOTICE:  BL31: Built : 11:00:38, Nov 21 2022
    
    U-Boot 2022.04-6.3.0+git.c71ae7141f30 (May 15 2023 - 16:20:01 +0000)
    
    CPU:   i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
    CPU:   Industrial temperature grade (-40C to 105C) at 47C
    Reset cause: POR
    DRAM:  4 GiB
    Core:  89 devices, 23 uclasses, devicetree: separate
    WDT:   Started watchdog@30280000 with servicing (60s timeout)
    MMC:   FSL_SDHC: 1, FSL_SDHC: 2
    Loading Environment from MMC... OK
    In:    serial@30880000
    Out:   serial@30880000
    Err:   serial@30880000
    Model: Toradex 0058 Verdin iMX8M Plus Quad 4GB WB IT V1.1A
    Serial#: 14762891
    Carrier: Toradex Dahlia V1.1C, Serial# 11008485
    SEC0:  RNG instantiated
    
     BuildInfo:
      - ATF 3c1583b
    
    Net:   eth1: ethernet@30be0000, eth0: ethernet@30bf0000 [PRIME]
    Normal Boot
    Hit any key to stop autoboot:
                    
  2. Press any key on your keyboard to cancel the auto-boot command.
    Hit any key to stop autoboot:  0
    Verdin iMX8MP #
                    
  3. Run the U-Boot commands to load QNX IFS and board device tree, then use go to boot to QNX OS. For example:
    Verdin iMX8MP # fatload mmc 1:1 0x40800000 ifs-imx8mp-verdin.bin
    Verdin iMX8MP # fatload mmc 2:1 ${fdt_addr_r} imx8mp-verdin-wifi-dahlia.dtb
    Verdin iMX8MP # fdt addr ${fdt_addr_r}
    Verdin iMX8MP # fdt resize
    Verdin iMX8MP # setexpr dwceqos_macaddr gsub ":" " " ${ethaddr}
    Verdin iMX8MP # fdt set /soc@0/bus@30800000/ethernet@30bf0000 local-mac-address "[${dwceqos_macaddr}]"
    Verdin iMX8MP # go 0x40800000 ${fdt_addr_r}
    ## Starting application at 0x40800000 ...
    Watchdog is enabled
    board_smp_num_cpu: 4 cores
    ...
    
    Welcome to QNX 8.0.0 on Verdin_i.MX8MP_CPU_Board !
     
    Starting Watchdog driver ...
    ..
    Starting GPIO driver (/dev/gpio)...
    Starting shell ...
    # 
    # uname -a
    QNX localhost 8.0.0 2023/10/06-08:25:55EDT Verdin_i.MX8MP_CPU_Board aarch64le
    #
    
                    
    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.
  4. To copy QNX IFS to on-board eMMC, you will need to mount the microSD card and the eMMC partitions, then copy the QNX IFS from the microSD card to on-board eMMC:
    # mount -t dos /dev/sd0t12 /sd
    # mount -t dos /dev/emmc0t12 /emmc
    # cp /sd/ifs-imx8mp-verdin.bin /emmc/
    # umount /sd
    # umount /emmc
    # shutdown
                    
    After you reset your board, you can load the QNX IFS from the on-board eMMC rather than the microSD card. You can use the following U-Boot commands to load and boot the QNX IFS from the eMMC:
    Verdin iMX8MP # fatload mmc 1:1 0x40800000 ifs-imx8mp-verdin.bin
    Verdin iMX8MP # fatload mmc 2:1 ${fdt_addr_r} imx8mp-verdin-wifi-dahlia.dtb
    ...
    Verdin iMX8MP # go 0x40800000 ${fdt_addr_r}
    ## Starting application at 0x40800000 ...
    ...
                    
Page updated: