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.
- 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:
- Press any key on your keyboard to cancel the auto-boot command.
Hit any key to stop autoboot: 0 Verdin iMX8MP #
- Run the U-Boot commands to load QNX IFS and board device tree,
then use go to boot to QNX OS. For example:
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.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 #
- 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:
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:# mount -t dos /dev/sd0t12 /sd # mount -t dos /dev/emmc0t12 /emmc # cp /sd/ifs-imx8mp-verdin.bin /emmc/ # umount /sd # umount /emmc # shutdown
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 ... ...