Boot from an eMMC memory device

You can prepare a bootable eMMC memory device to use to boot your board.

Note:
Before you can perform the steps to prepare a bootable eMMC, you must first boot your board using a bootable SD card. For more information, see Prepare a bootable microSD and Use the QNX IPL to boot the board.
After you have QNX OS running on your target board, complete the following steps to prepare a bootable eMMC and copy the QNX IPL and QNX IFS to it:
  1. Copy the QNX IFS file (qnx-ifs-cpu-mek), and QNX IPL file (ipl-imx8qm-cpu-mek_b0.imx; i.MX8QM MEK with the B0 SoC) to the /tmp directory on your target board.
  2. If the eMMC device contains a FAT32 partition, skip to step 5; otherwise, delete all existing partitions on the eMMC using the following commands and continue with the following steps:
    # fdisk /dev/emmc0 show -l
    
    _____OS_____     Start       End       ______Number______   Size    Boot
    name    type     Block       Block     Cylinders   Blocks
      
    FAT32     12        2048     2099199      1024     2097152   1024 MB
    QNX6     179     2099200    61079551     28799    58980352  28799 MB
    ------   ---   ---------   ---------   -------   ---------  -----
    ------   ---   ---------   ---------   -------   ---------  -----
    
    # fdisk /dev/emmc0 delete -a
    #
    # fdisk /dev/emmc0 show -l
    
    _____OS_____     Start       End       ______Number______   Size    Boot
    name    type     Block       Block     Cylinders   Blocks
    
    ------   ---   ---------   ---------   -------   ---------  -----
    ------   ---   ---------   ---------   -------   ---------  -----
    ------   ---   ---------   ---------   -------   ---------  -----
    ------   ---   ---------   ---------   -------   ---------  -----
    
    #
  3. Create a 1024MB partition starting from block 2048 using the following command:
    # fdisk /dev/emmc0 add -t 11 -l -c2048,2099199
    #
    # fdisk /dev/emmc0 show -l
    
    _____OS_____     Start       End       ______Number______   Size    Boot
    name    type     Block       Block     Cylinders   Blocks
    
    FAT32     11        2048     2099199      1024     2097152   1024 MB
    ------   ---   ---------   ---------   -------   ---------  -----
    ------   ---   ---------   ---------   -------   ---------  -----
    ------   ---   ---------   ---------   -------   ---------  -----
    
    #
    
  4. Mount and format the eMMC device using these commands:
    # mount -e /dev/emmc0
    # mkdosfs /dev/emmc0t11
    
  5. Mount the FAT32 partition of the eMMC using the following command:
    # mount -t dos /dev/emmc0t11 /fs/emmc
  6. Copy the QNX IFS file [qnx-ifs-cpu-mek(i.MX8QM MEK)] from the /tmp directory to the fs/emmc directory. You can also use the QNX Momentics IDE to copy the file using the following command:

    cp /tmp/qnx-ifs-cpu-mek /fs/emmc/qnx-ifs
    Note:
    The QNX IFS images must be copied to the target DOS filesystem with the name as qnx-ifs.
  7. Copy the NXP DTB file fsl-imx8qm-mek.dtb to the fs/emmc directory:
    cp /tmp/fsl-imx8qm-mek.dtb /fs/emmc/imx-dtb
  8. Copy the QNX IPL to the eMMC memory device raw partition using following command:

    # dd if=/tmp/ipl-imx8qm-cpu-mek_b0.imx of=/dev/emmc0 bs=1k seek=32
  9. Set the boot switches on your board to boot from eMMC instead of the SD card on your board as follows:
    Figure 1DIP switch configuration for the i.MX8 MEK to boot from eMMC

    For more information about configuring the DIP switches, see Set up the hardware in this chapter

  10. Press the SW3 (RESET) on the i.MX8QM MEK to reset the board and boot using the eMMC. Press the E key to boot from the eMMC when prompted in your console.
    Welcome to QNX Initial Program Loader for NXP i.MX8QM(Rev B) MEK Board (ARM Cortex-A53/A72)
    SCFW build version: 5624, SCFW commit: 6638c032
    SECO version: 2.5.6, commit: 6638c032
    Command:
    Press 'D' for serial download, using the 'sendnto' utility
    Press 'M' for eSDC download, IFS filename MUST be 'QNX-IFS'
    Press 'E' for eMMC download, IFS filename MUST be 'QNX-IFS'
    Press 'F' for NOR flash download, IFS MUST be at 0x100000 offset
    
Page updated: