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.
- 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
- Press any key on your keyboard to cancel the auto-boot command.
Hit any key to stop autoboot: 0 uboot=>
- 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:
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.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 ... #
# 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
-
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: