High Assurance Boot

From Variscite Wiki
  = Yocto =

1 Documentation

1.1 Thud 2.6.2

  • Yocto Project Core - Thud 2.6.2

Documentation is available from www.yoctoproject.org

1.2 Sumo 2.5

  • Yocto Project Core - Sumo 2.5

Documentation is available from www.yoctoproject.org

1.3 Rocko 2.4.3

  • Yocto Project Core - Rocko 2.4.3

Documentation is available from www.yoctoproject.org

1.4 Rocko 2.4.1

  • Yocto Project Core - Rocko 2.4.1

Documentation is available from www.yoctoproject.org

1.5 Rocko 2.4

  • Yocto Project Core - Rocko 2.4

Documentation is available from www.yoctoproject.org

1.6 Pyro 2.3.1

  • Yocto Project Core - Pyro 2.3.1 (released on 07/21/2017)

Documentation is available from www.yoctoproject.org

1.7 Morty 2.2.1

  • Yocto Project Core - Morty 2.2.1 (released on 02/24/2017)

Documentation is available from www.yoctoproject.org

1.8 FSLC BSP 2.5

  • FSL Community BSP Release Notes 2.5 documentation

Documentation is available from http://freescale.github.io

1.9 FSLC BSP 2.4

  • FSL Community BSP Release Notes 2.4 documentation

Documentation is available from http://freescale.github.io

1.10 FSLC BSP 2.3

  • FSL Community BSP Release Notes 2.3 documentation

Documentation is available from http://freescale.github.io

1.11 FSLC BSP 2.2

  • FSL Community BSP Release Notes 2.2 documentation

Documentation is available from http://freescale.github.io

1.12 FSL BSP L4.1.15_2.0.0-ga

  • Kernel documentation from fsl-yocto-L4.1.15_2.0.0-ga release

Documentation is available for download from fsl-yocto-imx-4.1.15_2.0.0-docs


2 VAR-SOM-MX6

2.1 Build Results

Image Name
Description
fsl-image-gui-. This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
fsl-image-gui-_128kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 128KiB PEB.
fsl-image-gui-_256kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 256KiB PEB.
Linux kernel image, same binary for SD card/eMMC or NAND flash.
SPL built for SD card boot or eMMC boot.
SPL built for NAND flash.
U-Boot built for SD card boot or eMMC boot.
U-Boot built for NAND flash.
Device Tree Name
SOM type
Carrier Board type
LCD Type
Evaluation Kit name
uImage-imx6q-var-som-cap.dtb VAR-SOM-MX6_V2 (Quad / Dual) VAR-MX6CustomBoard Capacitive touch VAR-DVK-MX6_V2-PRO
VAR-STK-MX6_V2
uImage-imx6q-var-som-res.dtb VAR-SOM-MX6_V2 (Quad / Dual) VAR-MX6CustomBoard Resistive touch VAR-DVK-MX6_V2-PRO
VAR-STK-MX6_V2
uImage-imx6q-var-som-vsc.dtb VAR-SOM-MX6_V2 (Quad / Dual) VAR-SOLOCustomBoard Capacitive LVDS touch N/A
uImage-imx6dl-var-som-cap.dtb VAR-SOM-MX6_V2 (DualLite / Solo) VAR-MX6CustomBoard Capacitive touch N/A
uImage-imx6dl-var-som-res.dtb VAR-SOM-MX6_V2 (DualLite / Solo) VAR-MX6CustomBoard Resistive touch N/A
uImage-imx6dl-var-som-vsc.dtb VAR-SOM-MX6_V2 (DualLite / Solo) VAR-SOLOCustomBoard Capacitive LVDS touch N/A
uImage-imx6qp-var-som-cap.dtb VAR-SOM-MX6_V2 (QuadPlus / DualPlus) VAR-MX6CustomBoard Capacitive touch N/A
uImage-imx6qp-var-som-res.dtb VAR-SOM-MX6_V2 (QuadPlus / DualPlus) VAR-MX6CustomBoard Resistive touch N/A
uImage-imx6qp-var-som-vsc.dtb VAR-SOM-MX6_V2 (QuadPlus / DualPlus) VAR-SOLOCustomBoard Capacitive LVDS touch N/A
uImage-imx6dl-var-som-solo-cap.dtb VAR-SOM-SOLO / VAR-SOM-DUAL VAR-MX6CustomBoard Capacitive touch N/A
uImage-imx6dl-var-som-solo-res.dtb VAR-SOM-SOLO / VAR-SOM-DUAL VAR-MX6CustomBoard Resistive touch N/A
uImage-imx6dl-var-som-solo-vsc.dtb VAR-SOM-SOLO / VAR-SOM-DUAL VAR-SOLOCustomBoard Capacitive LVDS touch VAR-DVK-SOLO/DUAL
VAR-STK-SOLO/DUAL
uImage-imx6q-var-dart.dtb DART-MX6 VAR-DT6CustomBoard Capacitive LVDS touch VAR-DVK-DT6
VAR-STK-DT6


2.2 Device trees

Build individual device trees:

Build the device tree for VAR-SOM-MX6 Dualite/Solo on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6dl-var-som-cap.dtb

Build the device tree for VAR-SOM-MX6 Dualite/Solo on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6dl-var-som-res.dtb

Build the device tree for VAR-SOM-MX6 Dualite/Solo on VAR-SOLOCustomBoard:
$ make -j4 imx6dl-var-som-vsc.dtb

Build the device tree for VAR-SOM-MX6 Quad/Dual on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6q-var-som-cap.dtb

Build the device tree for VAR-SOM-MX6 Quad/Dual on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6q-var-som-res.dtb

Build the device tree for VAR-SOM-MX6 Quad/Dual on VAR-SOLOCustomBoard:
$ make -j4 imx6q-var-som-vsc.dtb

Build the device tree for VAR-SOM-MX6 QuadPlus/DualPlus on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6qp-var-som-cap.dtb

Build the device tree for VAR-SOM-MX6 QuadPlus/DualPlus on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6qp-var-som-res.dtb

Build the device tree for VAR-SOM-MX6 QuadPlus/DualPlus on VAR-SOLOCustomBoard:
$ make -j4 imx6qp-var-som-vsc.dtb

Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6dl-var-som-solo-cap.dtb

Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6dl-var-som-solo-res.dtb

Build the device tree for VAR-SOM-SOLO on VAR-SOLOCustomBoard:
$ make -j4 imx6dl-var-som-solo-vsc.dtb

Build the device tree for DART-MX6:
$ make -j4 imx6q-var-dart.dtb


2.3 Device trees with Symphony-Board

Build individual device trees:

Build the device tree for VAR-SOM-MX6 Dualite/Solo on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6dl-var-som-cap.dtb

Build the device tree for VAR-SOM-MX6 Dualite/Solo on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6dl-var-som-res.dtb

Build the device tree for VAR-SOM-MX6 Dualite/Solo on Symphony-Board:
$ make -j4 imx6dl-var-som-symphony.dtb

Build the device tree for VAR-SOM-MX6 Dualite/Solo on VAR-SOLOCustomBoard:
$ make -j4 imx6dl-var-som-vsc.dtb

Build the device tree for VAR-SOM-MX6 Quad/Dual on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6q-var-som-cap.dtb

Build the device tree for VAR-SOM-MX6 Quad/Dual on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6q-var-som-res.dtb

Build the device tree for VAR-SOM-MX6 Quad/Dual on Symphony-Board:
$ make -j4 imx6q-var-som-symphony.dtb

Build the device tree for VAR-SOM-MX6 Quad/Dual on VAR-SOLOCustomBoard:
$ make -j4 imx6q-var-som-vsc.dtb

Build the device tree for VAR-SOM-MX6 QuadPlus/DualPlus on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6qp-var-som-cap.dtb

Build the device tree for VAR-SOM-MX6 QuadPlus/DualPlus on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6qp-var-som-res.dtb

Build the device tree for VAR-SOM-MX6 QuadPlus/DualPlus on Symphony-Board:
$ make -j4 imx6qp-var-som-symphony.dtb

Build the device tree for VAR-SOM-MX6 QuadPlus/DualPlus on VAR-SOLOCustomBoard:
$ make -j4 imx6qp-var-som-vsc.dtb

Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with capacitive touchscreen:
$ make -j4 imx6dl-var-som-solo-cap.dtb

Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with resistive touchscreen:
$ make -j4 imx6dl-var-som-solo-res.dtb

Build the device tree for VAR-SOM-SOLO on VAR-SOLOCustomBoard:
$ make -j4 imx6dl-var-som-solo-vsc.dtb

Build the device tree for VAR-SOM-SOLO on Symphony-Board:
$ make -j4 imx6dl-var-som-solo-symphony.dtb

Build the device tree for DART-MX6:
$ make -j4 imx6q-var-dart.dtb


2.4 SD card image file tree

/opt/images/
└── Yocto
    ├── SPL-nand
    ├── SPL-sd
    ├── imx6dl-var-som-cap.dtb
    ├── imx6dl-var-som-res.dtb
    ├── imx6dl-var-som-solo-cap.dtb
    ├── imx6dl-var-som-solo-res.dtb
    ├── imx6dl-var-som-solo-vsc.dtb
    ├── imx6dl-var-som-vsc.dtb
    ├── imx6q-var-dart.dtb
    ├── imx6q-var-som-cap.dtb
    ├── imx6q-var-som-res.dtb
    ├── imx6q-var-som-vsc.dtb
    ├── imx6qp-var-som-cap.dtb
    ├── imx6qp-var-som-res.dtb
    ├── imx6qp-var-som-vsc.dtb
    ├── rootfs.tar.gz
    ├── rootfs_128kbpeb.ubi
    ├── rootfs_256kbpeb.ubi
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── uImage


2.5 SD card image file tree with Symphony-Board

/opt/images/
└── Yocto
    ├── SPL-nand
    ├── SPL-sd
    ├── imx6dl-var-som-cap.dtb
    ├── imx6dl-var-som-res.dtb
    ├── imx6dl-var-som-solo-cap.dtb
    ├── imx6dl-var-som-solo-res.dtb
    ├── imx6dl-var-som-solo-symphony.dtb
    ├── imx6dl-var-som-solo-vsc.dtb
    ├── imx6dl-var-som-vsc.dtb
    ├── imx6q-var-dart.dtb
    ├── imx6q-var-som-cap.dtb
    ├── imx6q-var-som-res.dtb
    ├── imx6q-var-som-symphony.dtb
    ├── imx6q-var-som-vsc.dtb
    ├── imx6qp-var-som-cap.dtb
    ├── imx6qp-var-som-res.dtb
    ├── imx6qp-var-som-symphony.dtb
    ├── imx6qp-var-som-vsc.dtb
    ├── rootfs.tar.gz
    ├── rootfs_128kbpeb.ubi
    ├── rootfs_256kbpeb.ubi
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── uImage


2.6 Flash Recovery SD from GUI

2.6.1 Flash from GUI

VAR-SOM-MX6 Pyro Recovery.png

Click the appropriate button:

  • Install Yocto SOLOCB NAND: Flash Yocto on NAND flash, on VAR-SOLOCustomBoard
  • Install Yocto SOLOCB eMMC: Flash Yocto on eMMC, on VAR-SOLOCustomBoard
  • Install Yocto MX6CB Res NAND: Flash Yocto with Resistive touch panel support on NAND flash, on VAR-MX6CustomBoard
  • Install Yocto MX6CB Cap NAND: Flash Yocto with Capacitive touch panel support on NAND flash, on VAR-MX6CustomBoard
  • Install Yocto MX6CB Res eMMC: Flash Yocto with Resistive touch panel support on eMMC, on VAR-MX6CustomBoard
  • Install Yocto MX6CB Cap eMMC: Flash Yocto with Capacitive touch panel support on eMMC, on VAR-MX6CustomBoard
  • Install Yocto DART (eMMC): Flash Yocto on eMMC, on VAR-DT6CustomBoard


2.6.2 Flash from GUI

For this Yocto release, NXP/Vivante do no longer provide GPU accelerations for X11 native backend.

The default backend is now XWayland: Wayland accelerated backend with basic (not accelerated) X11 emulation.

Only "Flash from command line" is supported.


2.7 Setting the Boot Mode

Follow the instruction below according to the appropriate carrier board type:

2.7.1 MX6CustomBoard

Booting your MX6CustomBoard system from SD card requires pushing the middle button while powering up the system. See picture below.

Mx6 boot.jpg

To boot a board using an SD card, follow the steps below:

  • Power-off the board.
  • Insert the SD card into the SD/MMC slot of the carrier board (DVK)
  • Push the middle button (Boot Select) and hold
  • Power-up the board
  • Release the middle button (Boot Select) after system starts to boot.
  • The board will automatically boot into Linux from the SD card

2.7.2 SoloCustomBoard

Booting your system requires switching the relevant DIP switch to "Boot from MMC". See picture below.

Solo boot.jpg

To boot board with SD card, Follow the steps below:

  • Power-off the board.
  • Insert the SD card into the SD/MMC slot of the carrier board (DVK)
  • Switch the relevant DIP switch to "Boot from MMC"
  • Power-up board
  • The board will automatically boot into Linux from SD card

2.7.3 DT6CustomBoard

Booting your system requires switching the relevant DIP switch to "Boot from SD card". See picture below.

Dart boot.jpg

To boot board with SD card, Follow the steps below:

  • Power-off the board.
  • Insert the SD card into the SD/MMC slot of the carrier board (DVK)
  • Switch the relevant DIP switch to "Boot from SD card"
  • Power-up board
  • The board will automatically boot into Linux from SD card



3 DART-6UL

3.1 Build Results

Image Name
How to use
fsl-image-gui-.sdcard This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
fsl-image-gui-.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash.
Linux kernel image, same binary for SD card/eMMC or NAND flash.
SPL built for SD card boot or eMMC boot.
SPL built for NAND flash.
U-Boot built for SD card boot or eMMC boot.
U-Boot built for NAND flash.
File Name Description
zImage-imx6ul-var-dart-emmc_wifi.dtb Device tree blob for DART-6UL with eMMC & WI-FI enabled. (SD card & NAND disabled)
zImage-imx6ul-var-dart-nand_wifi.dtb Device tree blob for DART-6UL with NAND flash & WI-FI enabled. (SD card & eMMC disabled)
zImage-imx6ul-var-dart-sd_emmc.dtb Device tree blob for DART-6UL with SD card & eMMC enabled (WIFI & NAND disabled)
zImage-imx6ul-var-dart-sd_nand.dtb Device tree blob for DART-6UL with SD card & NAND flash enabled (WIFI & eMMC disabled)
zImage-imx6ull-var-dart-emmc_wifi.dtb Device tree blob for DART-6ULL with eMMC & WI-FI enabled. (SD card & NAND disabled)
zImage-imx6ull-var-dart-nand_wifi.dtb Device tree blob for DART-6ULL with NAND flash & WI-FI enabled. (SD card & eMMC disabled)
zImage-imx6ull-var-dart-sd_emmc.dtb Device tree blob for DART-6ULL with SD card & eMMC enabled (WIFI & NAND disabled)
zImage-imx6ull-var-dart-sd_nand.dtb Device tree blob for DART-6ULL with SD card & NAND flash enabled (WIFI & eMMC disabled)


Image Name
How to use
fsl-image-gui-. This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
fsl-image-gui-_128kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 128KiB PEB
fsl-image-gui-_256kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 256KiB PEB
Linux kernel image, same binary for SD card/eMMC or NAND flash.
SPL built for SD card boot or eMMC boot.
SPL built for NAND flash.
U-Boot built for SD card boot or eMMC boot.
U-Boot built for NAND flash.
File Name Description
zImage-imx6ul-var-dart-emmc_wifi.dtb Device tree blob for DART-6UL with eMMC & WI-FI enabled. (SD card & NAND disabled)
zImage-imx6ul-var-dart-nand_wifi.dtb Device tree blob for DART-6UL with NAND flash & WI-FI enabled. (SD card & eMMC disabled)
zImage-imx6ul-var-dart-5g-emmc_wifi.dtb Device tree blob for DART-6UL-5G with eMMC & WI-FI enabled. (SD card & NAND disabled)
zImage-imx6ul-var-dart-5g-nand_wifi.dtb Device tree blob for DART-6UL-5G with NAND flash & WI-FI enabled. (SD card & eMMC disabled)
zImage-imx6ul-var-dart-sd_emmc.dtb Device tree blob for DART-6UL with SD card & eMMC enabled (WIFI & NAND disabled)
zImage-imx6ul-var-dart-sd_nand.dtb Device tree blob for DART-6UL with SD card & NAND flash enabled (WIFI & eMMC disabled)
zImage-imx6ull-var-dart-emmc_wifi.dtb Device tree blob for DART-6ULL with eMMC & WI-FI enabled. (SD card & NAND disabled)
zImage-imx6ull-var-dart-nand_wifi.dtb Device tree blob for DART-6ULL with NAND flash & WI-FI enabled. (SD card & eMMC disabled)
zImage-imx6ull-var-dart-5g-emmc_wifi.dtb Device tree blob for DART-6ULL-5G with eMMC & WI-FI enabled. (SD card & NAND disabled)
zImage-imx6ull-var-dart-5g-nand_wifi.dtb Device tree blob for DART-6ULL-5G with NAND flash & WI-FI enabled. (SD card & eMMC disabled)
zImage-imx6ull-var-dart-sd_emmc.dtb Device tree blob for DART-6ULL with SD card & eMMC enabled (WIFI & NAND disabled)
zImage-imx6ull-var-dart-sd_nand.dtb Device tree blob for DART-6ULL with SD card & NAND flash enabled (WIFI & eMMC disabled)


Image Name
How to use
fsl-image-gui-. This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
fsl-image-gui-_128kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 128KiB PEB
fsl-image-gui-_256kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 256KiB PEB
Linux kernel image, same binary for SD card/eMMC or NAND flash.
SPL built for SD card boot or eMMC boot.
SPL built for NAND flash.
U-Boot built for SD card boot or eMMC boot.
U-Boot built for NAND flash.
File Name Description
imx6ull-var-dart-6ulcustomboard-emmc-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ull-var-dart-6ulcustomboard-nand-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ull-var-dart-6ulcustomboard-nand-wifi.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ul-var-dart-6ulcustomboard-emmc-sd-card.dtb Device tree blob for DART-6UL with i.MX6UL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ul-var-dart-6ulcustomboard-emmc-wifi.dtb Device tree blob for DART-6UL with i.MX6UL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ul-var-dart-6ulcustomboard-nand-sd-card.dtb Device tree blob for DART-6UL with i.MX6UL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ul-var-dart-6ulcustomboard-nand-wifi.dtb Device tree blob for DART-6UL with i.MX6UL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ulz-var-dart-6ulcustomboard-emmc-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ulz-var-dart-6ulcustomboard-emmc-wifi.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ulz-var-dart-6ulcustomboard-nand-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ulz-var-dart-6ulcustomboard-nand-wifi.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ull-var-som-concerto-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ull-var-som-concerto-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ull-var-som-concerto-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ull-var-som-concerto-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ul-var-som-concerto-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL with i.MX6UL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ul-var-som-concerto-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL with i.MX6UL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ul-var-som-concerto-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL with i.MX6UL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ul-var-som-concerto-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL with i.MX6UL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ulz-var-som-concerto-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULZ SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ulz-var-som-concerto-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULZ SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ulz-var-som-concerto-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULZ SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ulz-var-som-concerto-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL with i.MX6ULZ SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)


Image Name
How to use
fsl-image-gui-. This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
fsl-image-gui-_128kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 128KiB PEB
fsl-image-gui-_256kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 256KiB PEB
Linux kernel image, same binary for SD card/eMMC or NAND flash.
SPL built for SD card boot or eMMC boot.
SPL built for NAND flash.
U-Boot built for SD card boot or eMMC boot.
U-Boot built for NAND flash.
File Name Description
imx6ull-var-dart-6ulcustomboard-emmc-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ull-var-dart-6ulcustomboard-nand-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ull-var-dart-6ulcustomboard-nand-wifi.dtb Device tree blob for DART-6UL with i.MX6ULL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ul-var-dart-6ulcustomboard-emmc-sd-card.dtb Device tree blob for DART-6UL with i.MX6UL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ul-var-dart-6ulcustomboard-emmc-wifi.dtb Device tree blob for DART-6UL with i.MX6UL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ul-var-dart-6ulcustomboard-nand-sd-card.dtb Device tree blob for DART-6UL with i.MX6UL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ul-var-dart-6ulcustomboard-nand-wifi.dtb Device tree blob for DART-6UL with i.MX6UL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ulz-var-dart-6ulcustomboard-emmc-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ulz-var-dart-6ulcustomboard-emmc-wifi.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ulz-var-dart-6ulcustomboard-nand-sd-card.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ulz-var-dart-6ulcustomboard-nand-wifi.dtb Device tree blob for DART-6UL with i.MX6ULZ SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ull-var-som-concerto-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ull-var-som-concerto-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ull-var-som-concerto-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ull-var-som-concerto-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ul-var-som-concerto-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ul-var-som-concerto-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ul-var-som-concerto-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ul-var-som-concerto-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ulz-var-som-concerto-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ulz-var-som-concerto-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ulz-var-som-concerto-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ulz-var-som-concerto-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ull-var-som-symphony-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ull-var-som-symphony-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ull-var-som-symphony-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ull-var-som-symphony-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ul-var-som-symphony-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ul-var-som-symphony-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ul-var-som-symphony-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ul-var-som-symphony-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)
imx6ulz-var-som-symphony-board-emmc-sd-card.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, eMMC & SD card enabled. (NAND flash & WiFi disabled)
imx6ulz-var-som-symphony-board-emmc-wifi.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, eMMC & WiFi enabled. (NAND flash & SD card disabled)
imx6ulz-var-som-symphony-board-nand-sd-card.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, NAND flash & SD card enabled. (eMMC & WiFi disabled)
imx6ulz-var-som-symphony-board-nand-wifi.dtb Device tree blob for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, NAND flash & WiFi enabled. (eMMC & SD card disabled)


3.2 Device tree

Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-dart-emmc_wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and SD card:
$ make -j4 imx6ul-var-dart-sd_emmc.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-dart-nand_wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and SD card:
$ make -j4 imx6ul-var-dart-sd_nand.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-dart-emmc_wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and SD card:
$ make -j4 imx6ull-var-dart-sd_emmc.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-dart-nand_wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and SD card:
$ make -j4 imx6ull-var-dart-sd_nand.dtb


Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-dart-emmc_wifi.dtb

Build only the device tree for DART-6UL-5G with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-dart-5g-emmc_wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and SD card:
$ make -j4 imx6ul-var-dart-sd_emmc.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-dart-nand_wifi.dtb

Build only the device tree for DART-6UL-5G with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-dart-5g-nand_wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and SD card:
$ make -j4 imx6ul-var-dart-sd_nand.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-dart-emmc_wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and SD card:
$ make -j4 imx6ull-var-dart-sd_emmc.dtb

Build only the device tree for DART-6UL-5G with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-dart-5g-emmc_wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-dart-nand_wifi.dtb

Build only the device tree for DART-6UL-5G with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-dart-5g-nand_wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and SD card:
$ make -j4 imx6ull-var-dart-sd_nand.dtb


Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and SD card:
$ make -j4 imx6ull-var-dart-6ulcustomboard-emmc-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and SD card:
$ make -j4 imx6ull-var-dart-6ulcustomboard-nand-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-dart-6ulcustomboard-nand-wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and SD card:
$ make -j4 imx6ul-var-dart-6ulcustomboard-emmc-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-dart-6ulcustomboard-emmc-wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and SD card:
$ make -j4 imx6ul-var-dart-6ulcustomboard-nand-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-dart-6ulcustomboard-nand-wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, eMMC and SD card:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-emmc-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, eMMC and WiFi:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-emmc-wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, NAND flash and SD card:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-nand-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, NAND flash and WiFi:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULL SOC, eMMC and SD card:
$ make -j4 imx6ull-var-som-concerto-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-som-concerto-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULL SOC, NAND flash and SD card:
$ make -j4 imx6ull-var-som-concerto-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-som-concerto-board-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6UL SOC, eMMC and SD card:
$ make -j4 imx6ul-var-som-concerto-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-som-concerto-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6UL SOC, NAND flash and SD card:
$ make -j4 imx6ul-var-som-concerto-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-som-concerto-board-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULZ SOC, eMMC and SD card:
$ make -j4 imx6ulz-var-som-concerto-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULZ SOC, eMMC and WiFi:
$ make -j4 imx6ulz-var-som-concerto-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULZ SOC, NAND flash and SD card:
$ make -j4 imx6ulz-var-som-concerto-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL with i.MX6ULZ SOC, NAND flash and WiFi:
$ make -j4 imx6ulz-var-som-concerto-board-nand-wifi.dtb


Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and SD card:
$ make -j4 imx6ull-var-dart-6ulcustomboard-emmc-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and SD card:
$ make -j4 imx6ull-var-dart-6ulcustomboard-nand-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-dart-6ulcustomboard-nand-wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and SD card:
$ make -j4 imx6ul-var-dart-6ulcustomboard-emmc-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-dart-6ulcustomboard-emmc-wifi.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and SD card:
$ make -j4 imx6ul-var-dart-6ulcustomboard-nand-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-dart-6ulcustomboard-nand-wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, eMMC and SD card:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-emmc-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, eMMC and WiFi:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-emmc-wifi.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, NAND flash and SD card:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-nand-sd-card.dtb

Build only the device tree for DART-6UL with i.MX6ULZ SOC, NAND flash and WiFi:
$ make -j4 imx6ulz-var-dart-6ulcustomboard-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, eMMC and SD card:
$ make -j4 imx6ull-var-som-concerto-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-som-concerto-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, NAND flash and SD card:
$ make -j4 imx6ull-var-som-concerto-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-som-concerto-board-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, eMMC and SD card:
$ make -j4 imx6ul-var-som-concerto-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-som-concerto-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, NAND flash and SD card:
$ make -j4 imx6ul-var-som-concerto-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-som-concerto-board-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, eMMC and SD card:
$ make -j4 imx6ulz-var-som-concerto-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, eMMC and WiFi:
$ make -j4 imx6ulz-var-som-concerto-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, NAND flash and SD card:
$ make -j4 imx6ulz-var-som-concerto-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Concerto board with i.MX6ULZ SOC, NAND flash and WiFi:
$ make -j4 imx6ulz-var-som-concerto-board-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, eMMC and SD card:
$ make -j4 imx6ull-var-som-symphony-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, eMMC and WiFi:
$ make -j4 imx6ull-var-som-symphony-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, NAND flash and SD card:
$ make -j4 imx6ull-var-som-symphony-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULL SOC, NAND flash and WiFi:
$ make -j4 imx6ull-var-som-symphony-board-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, eMMC and SD card:
$ make -j4 imx6ul-var-som-symphony-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, eMMC and WiFi:
$ make -j4 imx6ul-var-som-symphony-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, NAND flash and SD card:
$ make -j4 imx6ul-var-som-symphony-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6UL SOC, NAND flash and WiFi:
$ make -j4 imx6ul-var-som-symphony-board-nand-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, eMMC and SD card:
$ make -j4 imx6ulz-var-som-symphony-board-emmc-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, eMMC and WiFi:
$ make -j4 imx6ulz-var-som-symphony-board-emmc-wifi.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, NAND flash and SD card:
$ make -j4 imx6ulz-var-som-symphony-board-nand-sd-card.dtb

Build only the device tree for VAR-SOM-6UL on Symphony board with i.MX6ULZ SOC, NAND flash and WiFi:
$ make -j4 imx6ulz-var-som-symphony-board-nand-wifi.dtb


3.3 SD card image file tree

/opt/images/
└── Yocto
    ├── imx6ul-var-dart-emmc_wifi.dtb
    ├── imx6ul-var-dart-nand_wifi.dtb
    ├── imx6ul-var-dart-sd_emmc.dtb
    ├── imx6ul-var-dart-sd_nand.dtb
    ├── imx6ull-var-dart-emmc_wifi.dtb
    ├── imx6ull-var-dart-nand_wifi.dtb
    ├── imx6ull-var-dart-sd_emmc.dtb
    ├── imx6ull-var-dart-sd_nand.dtb
    ├── rootfs.tar.gz
    ├── rootfs.ubi
    ├── SPL-nand
    ├── SPL-sd
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── zImage


/opt/images/
└── Yocto
    ├── imx6ul-var-dart-5g-emmc_wifi.dtb
    ├── imx6ul-var-dart-5g-nand_wifi.dtb
    ├── imx6ul-var-dart-emmc_wifi.dtb
    ├── imx6ul-var-dart-nand_wifi.dtb
    ├── imx6ul-var-dart-sd_emmc.dtb
    ├── imx6ul-var-dart-sd_nand.dtb
    ├── imx6ull-var-dart-5g-emmc_wifi.dtb
    ├── imx6ull-var-dart-5g-nand_wifi.dtb
    ├── imx6ull-var-dart-emmc_wifi.dtb
    ├── imx6ull-var-dart-nand_wifi.dtb
    ├── imx6ull-var-dart-sd_emmc.dtb
    ├── imx6ull-var-dart-sd_nand.dtb
    ├── rootfs.tar.gz
    ├── rootfs.ubi
    ├── SPL-nand
    ├── SPL-sd
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── zImage


/opt/images/
└── Yocto
    ├── imx6ul-var-dart-5g-emmc_wifi.dtb
    ├── imx6ul-var-dart-5g-nand_wifi.dtb
    ├── imx6ul-var-dart-emmc_wifi.dtb
    ├── imx6ul-var-dart-nand_wifi.dtb
    ├── imx6ul-var-dart-sd_emmc.dtb
    ├── imx6ul-var-dart-sd_nand.dtb
    ├── imx6ull-var-dart-5g-emmc_wifi.dtb
    ├── imx6ull-var-dart-5g-nand_wifi.dtb
    ├── imx6ull-var-dart-emmc_wifi.dtb
    ├── imx6ull-var-dart-nand_wifi.dtb
    ├── imx6ull-var-dart-sd_emmc.dtb
    ├── imx6ull-var-dart-sd_nand.dtb
    ├── rootfs.tar.gz
    ├── rootfs_128kbpeb.ubi
    ├── rootfs_256kbpeb.ubi
    ├── SPL-nand
    ├── SPL-sd
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── zImage


/opt/images/
└── Yocto
    ├── imx6ull-var-dart-6ulcustomboard-emmc-sd-card.dtb
    ├── imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb
    ├── imx6ull-var-dart-6ulcustomboard-nand-sd-card.dtb
    ├── imx6ull-var-dart-6ulcustomboard-nand-wifi.dtb
    ├── imx6ull-var-som-concerto-board-emmc-sd-card.dtb
    ├── imx6ull-var-som-concerto-board-emmc-wifi.dtb
    ├── imx6ull-var-som-concerto-board-nand-sd-card.dtb
    ├── imx6ull-var-som-concerto-board-nand-wifi.dtb
    ├── imx6ul-var-dart-6ulcustomboard-emmc-sd-card.dtb
    ├── imx6ul-var-dart-6ulcustomboard-emmc-wifi.dtb
    ├── imx6ul-var-dart-6ulcustomboard-nand-sd-card.dtb
    ├── imx6ul-var-dart-6ulcustomboard-nand-wifi.dtb
    ├── imx6ul-var-som-concerto-board-emmc-sd-card.dtb
    ├── imx6ul-var-som-concerto-board-emmc-wifi.dtb
    ├── imx6ul-var-som-concerto-board-nand-sd-card.dtb
    ├── imx6ul-var-som-concerto-board-nand-wifi.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-emmc-sd-card.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-emmc-wifi.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-nand-sd-card.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-nand-wifi.dtb
    ├── imx6ulz-var-som-concerto-board-emmc-sd-card.dtb
    ├── imx6ulz-var-som-concerto-board-emmc-wifi.dtb
    ├── imx6ulz-var-som-concerto-board-nand-sd-card.dtb
    ├── imx6ulz-var-som-concerto-board-nand-wifi.dtb
    ├── rootfs_128kbpeb.ubi
    ├── rootfs_256kbpeb.ubi
    ├── rootfs.tar.gz
    ├── SPL-nand
    ├── SPL-sd
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── zImage


/opt/images/
└── Yocto
    ├── imx6ull-var-dart-6ulcustomboard-emmc-sd-card.dtb
    ├── imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb
    ├── imx6ull-var-dart-6ulcustomboard-nand-sd-card.dtb
    ├── imx6ull-var-dart-6ulcustomboard-nand-wifi.dtb
    ├── imx6ull-var-som-concerto-board-emmc-sd-card.dtb
    ├── imx6ull-var-som-concerto-board-emmc-wifi.dtb
    ├── imx6ull-var-som-concerto-board-nand-sd-card.dtb
    ├── imx6ull-var-som-concerto-board-nand-wifi.dtb
    ├── imx6ull-var-som-symphony-board-emmc-sd-card.dtb
    ├── imx6ull-var-som-symphony-board-emmc-wifi.dtb
    ├── imx6ull-var-som-symphony-board-nand-sd-card.dtb
    ├── imx6ull-var-som-symphony-board-nand-wifi.dtb
    ├── imx6ul-var-dart-6ulcustomboard-emmc-sd-card.dtb
    ├── imx6ul-var-dart-6ulcustomboard-emmc-wifi.dtb
    ├── imx6ul-var-dart-6ulcustomboard-nand-sd-card.dtb
    ├── imx6ul-var-dart-6ulcustomboard-nand-wifi.dtb
    ├── imx6ul-var-som-concerto-board-emmc-sd-card.dtb
    ├── imx6ul-var-som-concerto-board-emmc-wifi.dtb
    ├── imx6ul-var-som-concerto-board-nand-sd-card.dtb
    ├── imx6ul-var-som-symphony-board-emmc-sd-card.dtb
    ├── imx6ul-var-som-symphony-board-emmc-wifi.dtb
    ├── imx6ul-var-som-symphony-board-nand-sd-card.dtb
    ├── imx6ul-var-som-symphony-board-nand-wifi.dtb
    ├── imx6ul-var-som-concerto-board-nand-wifi.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-emmc-sd-card.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-emmc-wifi.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-nand-sd-card.dtb
    ├── imx6ulz-var-dart-6ulcustomboard-nand-wifi.dtb
    ├── imx6ulz-var-som-concerto-board-emmc-sd-card.dtb
    ├── imx6ulz-var-som-concerto-board-emmc-wifi.dtb
    ├── imx6ulz-var-som-concerto-board-nand-sd-card.dtb
    ├── imx6ulz-var-som-concerto-board-nand-wifi.dtb
    ├── imx6ulz-var-som-symphony-board-emmc-sd-card.dtb
    ├── imx6ulz-var-som-symphony-board-emmc-wifi.dtb
    ├── imx6ulz-var-som-symphony-board-nand-sd-card.dtb
    ├── imx6ulz-var-som-symphony-board-nand-wifi.dtb
    ├── rootfs_128kbpeb.ubi
    ├── rootfs_256kbpeb.ubi
    ├── rootfs.tar.gz
    ├── SPL-nand
    ├── SPL-sd
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── zImage


3.4 Flash Recovery SD from GUI

3.4.1 Flash from GUI

DART-6UL Recovery Sumo.png

Touch/Click on the appropriate icon:

  • Install Yocto NAND, WiFi: Flash Yocto with WiFi support to NAND flash
  • Install Yocto NAND, SD card: Flash Yocto with SD card support to NAND flash
  • Install Yocto eMMC (SD/WiFi) : Flash Yocto to eMMC (installs both SD card and WiFi dtbs to the BOOT partition and let U-Boot select between them at boot time)


3.5 Setting the Boot Mode

Booting your system from an SD card requires switching the Boot DIP switches. See picture below.

Boot switch 6ul1.jpg
  • "00" The current position in the picture will set the system to boot from SD card
  • "01" Moving the right switch will set the system to boot from eMMC
  • "10" Moving the left switch will set the system to boot from NAND flash
  • "11" is illegal.
Be aware that your system has eMMC or NAND but never both.


Booting your system from an SD card requires switching the Boot DIP switches. See picture below.
On the VAR-6ULCustomBoard (with a DART-6UL):

Boot switch 6ul1.jpg
  • "00" The current position in the picture will set the system to boot from SD card
  • "01" Moving the right switch will set the system to boot from eMMC
  • "10" Moving the left switch will set the system to boot from NAND flash
  • "11" is illegal.
Be aware that your system has eMMC or NAND but never both.



On the Concerto-Board (with a VAR-SOM-6UL):

Boot switch concerto.jpg
  • ON-EXT: Boot from the external storage (SD card) - the current position in the picture
  • OFF-INT: Boot from the SOM's internal storage (eMMC/NAND flash)


3.6 Using only one Ethernet port

Apply the following patch to the Linux kernel source, for removing the second Ethernet port, in case your own custom carrier board only has one and doesn't have the second Ethernet phy:

diff --git a/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi b/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
index f79a356..032ed00 100644
--- a/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
+++ b/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
@@ -159,17 +159,6 @@
 	phy-reset-on-resume;
 	phy-handle = <&ethphy0>;
 	status = "okay";
-};
-
-&fec2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_enet2>;
-	phy-mode = "rmii";
-	phy-handle = <&ethphy1>;
-	phy-reset-gpios=<&gpio1 10 1>;
-	phy-reset-duration=<100>;
-	phy-reset-on-resume;
-	status = "okay";
 	mdio {
 		#address-cells = <1>;
 		#size-cells = <0>;
@@ -181,14 +170,6 @@
 			clock-names = "rmii-ref";
 			reg = <1>;
 		};
-
-		ethphy1: ethernet-phy@3 {
-			compatible = "ethernet-phy-ieee802.3-c22";
-			micrel,rmii-reference-clock-select-25-mhz;
-			clocks = <&rmii_ref_clk>;
-			clock-names = "rmii-ref";
-			reg = <3>;
-		};
 	};
 };
 
@@ -460,8 +441,8 @@
 			fsl,pins = <
 				MX6UL_PAD_CSI_HSYNC__GPIO4_IO20		0x1b0b0	/* User LED */
 				MX6UL_PAD_GPIO1_IO00__GPIO1_IO00	0x17059	/* User Button */
-				MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x1b0b0
-				MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
+				MX6UL_PAD_GPIO1_IO07__ENET1_MDC		0x1b0b0
+				MX6UL_PAD_GPIO1_IO06__ENET1_MDIO	0x1b0b0
 #ifdef WIFI
 				MX6UL_PAD_GPIO1_IO03__REF_CLK_32K	0x03029	/* WLAN Slow Clock */
 #endif
@@ -481,20 +462,6 @@
 			>;
 		};
 
-		pinctrl_enet2: enet2grp {
-			fsl,pins = <
-				MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN	0x1b0b0
-				MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER	0x1b0b0
-				MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00	0x1b0b0
-				MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01	0x1b0b0
-				MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN	0x1b0b0
-				MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00	0x1b0b0
-				MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01	0x1b0b0
-				MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4001b031
-				MX6UL_PAD_JTAG_MOD__GPIO1_IO10		0x1b0b0
-			>;
-		};
-
 		pinctrl_flexcan1: flexcan1grp{
 			fsl,pins = <
 				MX6UL_PAD_LCD_DATA09__FLEXCAN1_RX	0x1b020

Notes:
- You can follow the "Build Linux from source code" guide to get the Linux kernel source, apply the above patch, build only the device trees and copy them to your SD card.
- In older kernel releases where there is no imx6ul-imx6ull-var-dart-common.dtsi file, the relevant file to edit is called imx6ul-var-dart.dtsi


To remove the second Ethernet port, in case your own custom carrier board only has one and doesn't have the second Ethernet phy:
Edit the dtsi file of the reference carrier board in the Linux kernel source and remove the &fec1 and &fec2 nodes from it.
In case of the VAR-6ULCustomBoard (DART-6UL carrier), the file is arch/arm/boot/dts/imx6ul-imx6ull-var-dart-6ulcustomboard.dtsi.
In case of the Concerto-Board (VAR-SOM-6UL carrier), the file is arch/arm/boot/dts/imx6ul-imx6ull-var-som-concerto-board.dtsi.
The above will result in using the &fec1 node from the dtsi file of the SOM, as is (as the phy of the first Ethernet port is on the SOM), without adding the second port (which its phy is on the reference carrier board).
Notes:
- You can follow the "Build Linux from source code" guide to get the Linux kernel source, apply the above patch, build only the device trees and copy them to your SD card.


4 VAR-SOM-MX7

4.1 Build Results

Image Name
How to use
fsl-image-gui-. This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
fsl-image-gui-_128kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 128KiB PEB
fsl-image-gui-_256kbpeb.ubi A complete UBI image containing a UBIFS volume, for writing to NAND flash with 256KiB PEB
Linux kernel image, same binary for SD card/eMMC or NAND flash.
SPL built for SD card boot or eMMC boot.
SPL built for NAND flash.
U-Boot built for SD card boot or eMMC boot.
U-Boot built for NAND flash.
File Name Description
zImage-imx7d-var-som-emmc.dtb Device tree blob for SOMs with eMMC.
zImage-imx7d-var-som-nand.dtb Device tree blob for SOMs with NAND flash.
zImage-imx7d-var-som-emmc-m4.dtb Device tree blob for SOMs with eMMC and M4 support.
zImage-imx7d-var-som-nand-m4.dtb Device tree blob for SOMs with NAND flash and M4 support.


4.2 Device tree

Build only the device tree for VAR-SOM-MX7 with eMMC:
$ make -j4 imx7d-var-som-emmc.dtb

Build only the device tree for VAR-SOM-MX7 with NAND flash:
$ make -j4 imx7d-var-som-nand.dtb

Build only the device tree for VAR-SOM-MX7 with eMMC and M4 support:
$ make -j4 imx7d-var-som-emmc-m4.dtb

Build only the device tree for VAR-SOM-MX7 with NAND flash and M4 support:
$ make -j4 imx7d-var-som-nand-m4.dtb


4.3 SD card image file tree

/opt/images/
└── Yocto
    ├── imx7d-var-som-emmc.dtb
    ├── imx7d-var-som-nand.dtb
    ├── imx7d-var-som-emmc-m4.dtb
    ├── imx7d-var-som-nand-m4.dtb
    ├── rootfs.tar.gz
    ├── rootfs.ubi
    ├── u-boot.imx-nand
    ├── u-boot.imx-sd
    └── zImage


/opt/images/
└── Yocto
    ├── imx7d-var-som-emmc.dtb
    ├── imx7d-var-som-nand.dtb
    ├── imx7d-var-som-emmc-m4.dtb
    ├── imx7d-var-som-nand-m4.dtb
    ├── rootfs.tar.gz
    ├── rootfs.ubi
    ├── SPL-nand
    ├── SPL-sd
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── zImage


/opt/images/
└── Yocto
    ├── imx7d-var-som-emmc.dtb
    ├── imx7d-var-som-nand.dtb
    ├── imx7d-var-som-emmc-m4.dtb
    ├── imx7d-var-som-nand-m4.dtb
    ├── rootfs.tar.gz
    ├── rootfs_128kbpeb.ubi
    ├── rootfs_256kbpeb.ubi
    ├── SPL-nand
    ├── SPL-sd
    ├── u-boot.img-nand
    ├── u-boot.img-sd
    └── zImage


4.4 Flash Recovery SD from GUI

4.4.1 Flash from GUI

VAR-SOM-MX7 Rocko Recovery.png

Touch/Click on the appropriate icon:

  • Install Yocto NAND flash: Flash Yocto to NAND flash
  • Install Yocto eMMC: Flash Yocto to eMMC


4.5 Setting the Boot Mode

Make sure the BOOT SELECT DIP switches on the carrier board are set correctly before you power on the board.

SW1-SW2
 0 - 0 : Boot from SD card
 1 - 0 : Boot from eMMC
 0 - 1 : Boot from NAND flash
 1 - 1 : Illegal
The VAR-SOM-MX7 SOM comes with either NAND or eMMC, but not both.


5 DART-MX8M

5.1 Build Results

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
Image.gz-imx8m-var-dart-emmc-wifi-hdmi.dtb Device tree blob for eMMC, WIFI and HDMI display configuration.
Image.gz-imx8m-var-dart-emmc-wifi-hdmi-4k.dtb Device tree blob for eMMC, WIFI and HDMI 4K display configuration.
Image.gz-imx8m-var-dart-emmc-wifi-dcss-lvds.dtb Device tree blob for eMMC, WIFI and DCSS LVDS display configuration.
Image.gz-imx8m-var-dart-emmc-wifi-lcdif-lvds.dtb Device tree blob for eMMC, WIFI and LCDIF LVDS display configuration.
Image.gz-imx8m-var-dart-emmc-wifi-dual-display.dtb Device tree blob for eMMC, WIFI and dual LVDS+HDMI display configuration.
Image.gz-imx8m-var-dart-sd-emmc-hdmi.dtb Device tree blob for SD, eMMC and HDMI display configuration.
Image.gz-imx8m-var-dart-sd-emmc-hdmi-4k.dtb Device tree blob for SD, eMMC and HDMI 4K display configuration.
Image.gz-imx8m-var-dart-sd-emmc-dcss-lvds.dtb Device tree blob for SD, eMMC and DCSS LVDS display configuration.
Image.gz-imx8m-var-dart-sd-emmc-lcdif-lvds.dtb Device tree blob for SD, eMMC and LCDIF LVDS display configuration.
Image.gz-imx8m-var-dart-sd-emmc-dual-display.dtb Device tree blob for SD, eMMC and dual LVDS+HDMI display configuration.


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
Image.gz-fsl-imx8mq-var-dart-emmc-wifi-hdmi.dtb DTB for DART-MX8M with WIFI and HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-emmc-wifi-lvds.dtb DTB for DART-MX8M with WIFI and LVDS display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-emmc-wifi-dual-display.dtb DTB for DART-MX8M with WIFI and dual LVDS+HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-emmc-wifi-hdmi-cb12.dtb DTB for DART-MX8M with WIFI and HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-emmc-wifi-lvds-cb12.dtb DTB for DART-MX8M with WIFI and LVDS display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-emmc-wifi-dual-display-cb12.dtb DTB for DART-MX8M with WIFI and dual LVDS+HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-sd-emmc-hdmi.dtb DTB for DART-MX8M with SD card and HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-emmc-lvds.dtb DTB for DART-MX8M with SD card and LCDIF LVDS display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-emmc-dual-display.dtb DTB for DART-MX8M with SD card and dual LVDS+HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-emmc-hdmi-cb12.dtb DTB for DART-MX8M with SD card and HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-sd-emmc-lvds-cb12.dtb DTB for DART-MX8M with SD card and LCDIF LVDS display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-sd-emmc-dual-display-cb12.dtb DTB for DART-MX8M with SD card and dual LVDS+HDMI display support on carrier board revisions 1.1 and 1.2.


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
Image.gz-fsl-imx8mq-var-dart-sd-dp.dtb DTB for DART-MX8M with SD card and DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-hdmi.dtb DTB for DART-MX8M with SD card and HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-lvds.dtb DTB for DART-MX8M with SD card and LVDS display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-lvds-dp.dtb DTB for DART-MX8M with SD card and dual LVDS+DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-lvds-hdmi.dtb DTB for DART-MX8M with SD card and dual LVDS+HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-sd-hdmi-cb12.dtb DTB for DART-MX8M with SD card and HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-sd-lvds-cb12.dtb DTB for DART-MX8M with SD card and LVDS display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-sd-lvds-hdmi-cb12.dtb DTB for DART-MX8M with SD card and dual LVDS+HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-wifi-dp.dtb DTB for DART-MX8M with WIFI and DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-wifi-hdmi.dtb DTB for DART-MX8M with WIFI and HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-wifi-lvds.dtb DTB for DART-MX8M with WIFI and LVDS display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-wifi-lvds-dp.dtb DTB for DART-MX8M with WIFI and dual LVDS+DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-wifi-lvds-hdmi.dtb DTB for DART-MX8M with WIFI and dual LVDS+HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-wifi-hdmi-cb12.dtb DTB for DART-MX8M with WIFI and HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-wifi-lvds-cb12.dtb DTB for DART-MX8M with WIFI and LVDS display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-wifi-lvds-hdmi-cb12.dtb DTB for DART-MX8M with WIFI and dual LVDS+HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-m4-sd-dp.dtb DTB for DART-MX8M with M4, SD card and DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-sd-hdmi.dtb DTB for DART-MX8M with M4, SD card and HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-sd-lvds.dtb DTB for DART-MX8M with M4, SD card and LVDS display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-sd-lvds-dp.dtb DTB for DART-MX8M with M4, SD card and dual LVDS+DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-sd-lvds-hdmi.dtb DTB for DART-MX8M with M4, SD card and dual LVDS+HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-sd-hdmi-cb12.dtb DTB for DART-MX8M with M4, SD card and HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-m4-sd-lvds-cb12.dtb DTB for DART-MX8M with M4, SD card and LVDS display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-m4-sd-lvds-hdmi-cb12.dtb DTB for DART-MX8M with M4, SD card and dual LVDS+HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-dp.dtb DTB for DART-MX8M with M4, WIFI and DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-hdmi.dtb DTB for DART-MX8M with M4, WIFI and HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-lvds.dtb DTB for DART-MX8M with M4, WIFI and LVDS display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-lvds-dp.dtb DTB for DART-MX8M with M4, WIFI and dual LVDS+DP display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-lvds-hdmi.dtb DTB for DART-MX8M with M4, WIFI and dual LVDS+HDMI display support on carrier board revisions 1.3 and higher.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-hdmi-cb12.dtb DTB for DART-MX8M with M4, WIFI and HDMI display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-lvds-cb12.dtb DTB for DART-MX8M with M4, WIFI and LVDS display support on carrier board revisions 1.1 and 1.2.
Image.gz-fsl-imx8mq-var-dart-m4-wifi-lvds-hdmi-cb12.dtb DTB for DART-MX8M with M4, WIFI and dual LVDS+HDMI display support on carrier board revisions 1.1 and 1.2.


Image Name
How to use
fsl-image-gui-.wic.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mq-var-dart-dt8mcustomboard-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and dual LVDS+HDMI display.


5.2 Basler Camera

5.2.1 local.conf

IMAGE_INSTALL_append = " \
	basler-camera-driver \
	pylon \
	python3-pypylon \
	gentl-producer \
	xauth \
"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-basler-camera-driver"


5.3 E-con Camera

5.3.1 local.conf

IMAGE_INSTALL_append = " \
       econ-camera-driver \
"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "kernel-module-econ-camera-driver"


5.4 Device tree

Build only the device tree for DART-MX8M with WIFI and HDMI display support:
$ make -j4 imx8m-var-dart-emmc-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and HDMI 4K display support:
$ make -j4 imx8m-var-dart-emmc-wifi-hdmi-4k.dtb

Build only the device tree for DART-MX8M with WIFI and DCSS LVDS display support:
$ make -j4 imx8m-var-dart-emmc-wifi-dcss-lvds.dtb

Build only the device tree for DART-MX8M with WIFI and LCDIF LVDS display support:
$ make -j4 imx8m-var-dart-emmc-wifi-lcdif-lvds.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+HDMI display support:
$ make -j4 imx8m-var-dart-emmc-wifi-dual-display.dtb

Build only the device tree for DART-MX8M with SD, and HDMI display support:
$ make -j4 imx8m-var-dart-sd-emmc-hdmi.dtb

Build only the device tree for DART-MX8M with SD, and HDMI 4K display support:
$ make -j4 imx8m-var-dart-sd-emmc-hdmi-4k.dtb

Build only the device tree for DART-MX8M with SD, and DCSS LVDS display support:
$ make -j4 imx8m-var-dart-sd-emmc-dcss-lvds.dtb

Build only the device tree for DART-MX8M with SD, and LCDIF LVDS display support:
$ make -j4 imx8m-var-dart-sd-emmc-lcdif-lvds.dtb

Build only the device tree for DART-MX8M with SD, and dual LVDS+HDMI display support:
$ make -j4 imx8m-var-dart-sd-emmc-dual-display.dtb


Build only the device tree for DART-MX8M with WIFI and HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-emmc-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and LVDS display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-emmc-wifi-lvds.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-emmc-wifi-dual-display.dtb

Build only the device tree for DART-MX8M with SD, and HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-emmc-hdmi.dtb

Build only the device tree for DART-MX8M with SD, and LVDS display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-emmc-lvds.dtb

Build only the device tree for DART-MX8M with SD, and dual LVDS+HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-emmc-dual-display.dtb


Build only the device tree for DART-MX8M with SD and DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-dp.dtb

Build only the device tree for DART-MX8M with SD and HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-hdmi.dtb

Build only the device tree for DART-MX8M with SD and LVDS display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-lvds.dtb

Build only the device tree for DART-MX8M with SD and dual LVDS+DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M with SD and dual LVDS+HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-wifi-dp.dtb

Build only the device tree for DART-MX8M with WIFI and HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and LVDS display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-wifi-lvds.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-wifi-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with M4, SD and DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-sd-dp.dtb

Build only the device tree for DART-MX8M with M4, SD and HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-sd-hdmi.dtb

Build only the device tree for DART-MX8M with M4, SD and LVDS display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-sd-lvds.dtb

Build only the device tree for DART-MX8M with M4, SD and dual LVDS+DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M with M4, SD and dual LVDS+HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with M4, WIFI and DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-wifi-dp.dtb

Build only the device tree for DART-MX8M with M4, WIFI and HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with M4, WIFI and LVDS display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-wifi-lvds.dtb

Build only the device tree for DART-MX8M with M4, WIFI and dual LVDS+DP display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M with M4, WIFI and dual LVDS+HDMI display support:
$ make -j4 freescale/fsl-imx8mq-var-dart-m4-wifi-lvds-hdmi.dtb


Build only the device tree for DART-MX8M with SD and DP display support:
$ make -j4 freescale/imx8mq-var-dart-sd-dp.dtb

Build only the device tree for DART-MX8M with SD and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-sd-hdmi.dtb

Build only the device tree for DART-MX8M with SD and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-sd-lvds.dtb

Build only the device tree for DART-MX8M with SD and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M with SD and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and DP display support:
$ make -j4 freescale/imx8mq-var-dart-wifi-dp.dtb

Build only the device tree for DART-MX8M with WIFI and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-wifi-lvds.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-wifi-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with M4, SD and DP display support:
$ make -j4 freescale/imx8mq-var-dart-m4-sd-dp.dtb

Build only the device tree for DART-MX8M with M4, SD and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-m4-sd-hdmi.dtb

Build only the device tree for DART-MX8M with M4, SD and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-m4-sd-lvds.dtb

Build only the device tree for DART-MX8M with M4, SD and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-m4-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M with M4, SD and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-m4-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with M4, WIFI and DP display support:
$ make -j4 freescale/imx8mq-var-dart-m4-wifi-dp.dtb

Build only the device tree for DART-MX8M with M4, WIFI and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-m4-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with M4, WIFI and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-m4-wifi-lvds.dtb

Build only the device tree for DART-MX8M with M4, WIFI and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-m4-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M with M4, WIFI and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-m4-wifi-lvds-hdmi.dtb


Build only the device tree for DART-MX8M with SD and DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-dp.dtb

Build only the device tree for DART-MX8M with SD and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-hdmi.dtb

Build only the device tree for DART-MX8M with SD and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-lvds.dtb

Build only the device tree for DART-MX8M with SD and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M with SD and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-dp.dtb

Build only the device tree for DART-MX8M with WIFI and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with WIFI and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-lvds.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M with WIFI and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with M4, SD and DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-sd-dp.dtb

Build only the device tree for DART-MX8M with M4, SD and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-sd-hdmi.dtb

Build only the device tree for DART-MX8M with M4, SD and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds.dtb

Build only the device tree for DART-MX8M with M4, SD and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M with M4, SD and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M with M4, WIFI and DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-dp.dtb

Build only the device tree for DART-MX8M with M4, WIFI and HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-hdmi.dtb

Build only the device tree for DART-MX8M with M4, WIFI and LVDS display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds.dtb

Build only the device tree for DART-MX8M with M4, WIFI and dual LVDS+DP display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M with M4, WIFI and dual LVDS+HDMI display support:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds-hdmi.dtb


Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with SD and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with SD and LVDS display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-lvds.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with SD and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and LVDS display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-lvds.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-wifi-lvds-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-sd-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and LVDS display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD and DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-sd-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-sd-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD and LVDS display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD and dual LVDS+DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-wifi-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-wifi-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and LVDS display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and dual LVDS+DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD and DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD and dual LVDS+DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-hdmi.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and LVDS display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and dual LVDS+DP display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds-dp.dtb

Build only the device tree for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and dual LVDS+HDMI display:
$ make -j4 freescale/imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds-hdmi.dtb


5.5 SD card image file tree

/opt/images/
└── Yocto
    ├── imx-boot-sd.bin
    └── rootfs.tar.gz


5.6 SD card image file tree

/opt/images/
└── Yocto
    ├── imx-boot-imx8mq-var-dart-sd.bin-flash_dp_evk
    ├── imx-boot-imx8mq-var-dart-sd.bin-flash_evk
    ├── imx-boot-imx8mq-var-dart-sd.bin-flash_evk_no_hdmi
    ├── imx-boot-sd.bin -> imx-boot-imx8mq-var-dart-sd.bin-flash_evk
    └── rootfs.tar.gz



DTB File Name
Description
imx8m-var-dart-emmc-wifi-hdmi.dtb Device tree blob for eMMC, WIFI and HDMI display configuration. SD card disabled.
imx8m-var-dart-emmc-wifi-hdmi-4k.dtb Device tree blob for eMMC, WIFI and HDMI 4K display configuration. SD card disabled.
imx8m-var-dart-emmc-wifi-dcss-lvds.dtb Device tree blob for eMMC, WIFI and DCSS LVDS display configuration. SD card disabled.
imx8m-var-dart-emmc-wifi-lcdif-lvds.dtb Device tree blob for eMMC, WIFI and LCDIF LVDS display configuration. SD card disabled.
imx8m-var-dart-emmc-wifi-dual-display.dtb Device tree blob for eMMC, WIFI and dual LVDS+HDMI display configuration. SD card disabled.
imx8m-var-dart-sd-emmc-hdmi.dtb Device tree blob for SD, eMMC and HDMI display configuration. WIFI disabled.
imx8m-var-dart-sd-emmc-hdmi-4k.dtb Device tree blob for SD, eMMC and HDMI 4K display configuration. WIFI disabled.
imx8m-var-dart-sd-emmc-dcss-lvds.dtb Device tree blob for SD, eMMC and DCSS LVDS display configuration. WIFI disabled.
imx8m-var-dart-sd-emmc-lcdif-lvds.dtb Device tree blob for SD, eMMC and LCDIF LVDS display configuration. WIFI disabled.
imx8m-var-dart-sd-emmc-dual-display.dtb Device tree blob for SD, eMMC and dual LVDS+HDMI display configuration. WIFI disabled.


DTB File Name
Description
fsl-imx8mq-var-dart-emmc-wifi-hdmi.dtb Device tree blob for eMMC, WIFI and HDMI display configuration. SD card disabled.
fsl-imx8mq-var-dart-emmc-wifi-lvds.dtb Device tree blob for eMMC, WIFI and LVDS display configuration. SD card disabled.
fsl-imx8mq-var-dart-emmc-wifi-dual-display.dtb Device tree blob for eMMC, WIFI and dual LVDS+HDMI display configuration. SD card disabled.
fsl-imx8mq-var-dart-sd-emmc-hdmi.dtb Device tree blob for SD, eMMC and HDMI display configuration. WIFI disabled.
fsl-imx8mq-var-dart-sd-emmc-lvds.dtb Device tree blob for SD, eMMC and LVDS display configuration. WIFI disabled.
fsl-imx8mq-var-dart-sd-emmc-dual-display.dtb Device tree blob for SD, eMMC and dual LVDS+HDMI display configuration. WIFI disabled.


DTB File Name
Description
fsl-imx8mq-var-dart-sd-dp.dtb Device tree blob for eMMC, SD and DP display configuration. WIFI disabled.
fsl-imx8mq-var-dart-sd-hdmi.dtb Device tree blob for eMMC, SD and HDMI display configuration. WIFI disabled.
fsl-imx8mq-var-dart-sd-lvds.dtb Device tree blob for eMMC, SD and LVDS display configuration. WIFI disabled.
fsl-imx8mq-var-dart-sd-lvds-dp.dtb Device tree blob for eMMC, SD and dual LVDS+DP display configuration. WIFI disabled.
fsl-imx8mq-var-dart-sd-lvds-hdmi.dtb Device tree blob for eMMC, SD and dual LVDS+HDMI display configuration. WIFI disabled.
fsl-imx8mq-var-dart-wifi-dp.dtb Device tree blob for eMMC, WIFI and DP display configuration. SD card disabled.
fsl-imx8mq-var-dart-wifi-hdmi.dtb Device tree blob for eMMC, WIFI and HDMI display configuration. SD card disabled.
fsl-imx8mq-var-dart-wifi-lvds.dtb Device tree blob for eMMC, WIFI and LVDS display configuration. SD card disabled.
fsl-imx8mq-var-dart-wifi-lvds-dp.dtb Device tree blob for eMMC, WIFI and dual LVDS+DP display configuration. SD card disabled.
fsl-imx8mq-var-dart-wifi-lvds-hdmi.dtb Device tree blob for eMMC, WIFI and dual LVDS+HDMI display configuration. SD card disabled.
fsl-imx8mq-var-dart-m4-sd-dp.dtb Device tree blob for eMMC, SD and DP display configuration. WIFI disabled.
fsl-imx8mq-var-dart-m4-sd-hdmi.dtb Device tree blob for M4, eMMC, SD and HDMI display configuration. WIFI disabled.
fsl-imx8mq-var-dart-m4-sd-lvds.dtb Device tree blob for M4, eMMC, SD and LVDS display configuration. WIFI disabled.
fsl-imx8mq-var-dart-m4-sd-lvds-dp.dtb Device tree blob for M4, eMMC, SD and dual LVDS+DP display configuration. WIFI disabled.
fsl-imx8mq-var-dart-m4-sd-lvds-hdmi.dtb Device tree blob for M4, eMMC, SD and dual LVDS+HDMI display configuration. WIFI disabled.
fsl-imx8mq-var-dart-m4-wifi-dp.dtb Device tree blob for M4, eMMC, WIFI and DP display configuration. SD card disabled.
fsl-imx8mq-var-dart-m4-wifi-hdmi.dtb Device tree blob for M4, eMMC, WIFI and HDMI display configuration. SD card disabled.
fsl-imx8mq-var-dart-m4-wifi-lvds.dtb Device tree blob for M4, eMMC, WIFI and LVDS display configuration. SD card disabled.
fsl-imx8mq-var-dart-m4-wifi-lvds-dp.dtb Device tree blob for M4, eMMC, WIFI and dual LVDS+DP display configuration. SD card disabled.
fsl-imx8mq-var-dart-m4-wifi-lvds-hdmi.dtb Device tree blob for M4, eMMC, WIFI and dual LVDS+HDMI display configuration. SD card disabled.


DTB File Name
Description
imx8mq-var-dart-dt8mcustomboard-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with WIFI and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-m4-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-m4-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V2.x and above with M4, WIFI and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with WIFI and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-sd-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, SD card and dual LVDS+HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and HDMI display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and LVDS display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds-dp.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and dual LVDS+DP display.
imx8mq-var-dart-dt8mcustomboard-legacy-m4-wifi-lvds-hdmi.dtb DTB for DART-MX8M on DT8MCustomBoard V1.3/V1.4 with M4, WIFI and dual LVDS+HDMI display.


5.7 Setting the Boot Mode

Make sure the BOOT SELECT DIP switch on the carrier board is set correctly before you power on the board.

SW7
 0 : Boot from SD card
 1 : Boot from eMMC


6 DART-MX8M-MINI

6.1 Build Results

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
fsl-imx8mm-var-dart.dtb Device tree blob for DART-MX8M-MINI
fsl-imx8mm-var-som.dtb Device tree blob for VAR-SOM-MX8M-MINI
fsl-imx8mm-var-som-rev10.dtb Device tree blob for VAR-SOM-MX8M-MINI Rev 1.0


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
Expression error: Unexpected > operator. Device tree blob for DART-MX8M-MINI
Expression error: Unexpected > operator. Device tree blob for VAR-SOM-MX8M-MINI
Expression error: Unexpected > operator. Device tree blob for VAR-SOM-MX8M-MINI Rev 1.0


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mm-var-dart-customboard.dtb Device tree blob for DART-MX8M-MINI on DT8MCustomBoard
imx8mm-var-dart-customboard-m4.dtb Device tree blob for DART-MX8M-MINI with Cortex-M4 on DT8MCustomBoard
imx8mm-var-som-symphony.dtb Device tree blob for VAR-SOM-MX8M-MINI on Symphony-Board V1.4A and above
imx8mm-var-som-symphony-m4.dtb Device tree blob for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4A and above
imx8mm-var-som-symphony-legacy.dtb Device tree blob for VAR-SOM-MX8M-MINI on Symphony-Board V1.4 and below
imx8mm-var-som-symphony-legacy-m4.dtb Device tree blob for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4 and below


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mm-var-dart-dt8mcustomboard.dtb Device tree blob for DART-MX8M-MINI on DT8MCustomBoard V2.x and above
imx8mm-var-dart-dt8mcustomboard-m4.dtb Device tree blob for DART-MX8M-MINI with Cortex-M4 on DT8MCustomBoard V2.x and above
imx8mm-var-dart-dt8mcustomboard-legacy.dtb Device tree blob for DART-MX8M-MINI on DT8MCustomBoard V1.x
imx8mm-var-dart-dt8mcustomboard-legacy-m4.dtb Device tree blob for DART-MX8M-MINI with Cortex-M4 on DT8MCustomBoard V1.x
imx8mm-var-som-symphony.dtb Device tree blob for VAR-SOM-MX8M-MINI on Symphony-Board V1.4A and above
imx8mm-var-som-symphony-m4.dtb Device tree blob for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4A and above
imx8mm-var-som-symphony-legacy.dtb Device tree blob for VAR-SOM-MX8M-MINI on Symphony-Board V1.4 and below
imx8mm-var-som-symphony-legacy-m4.dtb Device tree blob for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4 and below


6.2 Device tree

Build only the device tree for DART-MX8M-MINI:
$ make -j4 freescale/fsl-imx8mm-var-dart.dtb

Build only the device tree for VAR-SOM-MX8M-MINI:
$ make -j4 freescale/fsl-imx8mm-var-var-som.dtb

Build only the device tree for VAR-SOM-MX8M-MINI Rev 1.0:
$ make -j4 freescale/fsl-imx8mm-var-var-som-rev10.dtb


Build only the device tree for DART-MX8M-MINI:
$ make -j4 freescale/imx8mm-var-dart.dtb

Build only the device tree for VAR-SOM-MX8M-MINI:
$ make -j4 freescale/imx8mm-var-som.dtb

Build only the device tree for VAR-SOM-MX8M-MINI Rev 1.0:
$ make -j4 freescale/imx8mm-var-som-rev10.dtb


Build only the device tree for DART-MX8M-MINI:
$ make -j4 freescale/imx8mm-var-dart-customboard.dtb

Build only the device tree for VAR-SOM-MX8M-MINI:
$ make -j4 freescale/imx8mm-var-som-symphony.dtb

Build only the device tree for VAR-SOM-MX8M-MINI Rev 1.0:
$ make -j4 freescale/imx8mm-var-som-rev10-symphony.dtb


Build only the device tree for DART-MX8M-MINI on DT8MCustomBoard:
$ make -j4 freescale/imx8mm-var-dart-customboard.dtb

Build only the device tree for DART-MX8M-MINI with Cortex-M4 on DT8MCustomBoard:
$ make -j4 freescale/imx8mm-var-dart-customboard-m4.dtb

Build only the device tree for VAR-SOM-MX8M-MINI on Symphony-Board V1.4A and above:
$ make -j4 freescale/imx8mm-var-som-symphony.dtb

Build only the device tree for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4A and above:
$ make -j4 freescale/imx8mm-var-som-symphony-m4.dtb

Build only the device tree for VAR-SOM-MX8M-MINI on Symphony-Board V1.4 and below:
$ make -j4 freescale/imx8mm-var-som-symphony-legacy.dtb

Build only the device tree for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4 and below:
$ make -j4 freescale/imx8mm-var-som-symphony-legacy-m4.dtb


Build only the device tree for DART-MX8M-MINI on DT8MCustomBoard V2.x and above:
$ make -j4 freescale/imx8mm-var-dart-dt8mcustomboard.dtb

Build only the device tree for DART-MX8M-MINI on with Cortex-M4 DT8MCustomBoard V2.x and above:
$ make -j4 freescale/imx8mm-var-dart-dt8mcustomboard-m4.dtb

Build only the device tree for DART-MX8M-MINI on DT8MCustomBoard V1.x:
$ make -j4 freescale/imx8mm-var-dart-dt8mcustomboard-legacy.dtb

Build only the device tree for DART-MX8M-MINI on with Cortex-M4 DT8MCustomBoard V1.x:
$ make -j4 freescale/imx8mm-var-dart-dt8mcustomboard-legacy-m4.dtb

Build only the device tree for VAR-SOM-MX8M-MINI on Symphony-Board V1.4A and above:
$ make -j4 freescale/imx8mm-var-som-symphony.dtb

Build only the device tree for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4A and above:
$ make -j4 freescale/imx8mm-var-som-symphony-m4.dtb

Build only the device tree for VAR-SOM-MX8M-MINI on Symphony-Board V1.4 and below:
$ make -j4 freescale/imx8mm-var-som-symphony-legacy.dtb

Build only the device tree for VAR-SOM-MX8M-MINI with Cortex-M4 on Symphony-Board V1.4 and below:
$ make -j4 freescale/imx8mm-var-som-symphony-legacy-m4.dtb


6.3 SD card image file tree

/opt/images/
└── Yocto
    ├── imx-boot-sd.bin
    └── rootfs.tar.gz


6.4 Setting the Boot Mode

Make sure the BOOT SELECT DIP switch on the carrier board is set correctly before you power on the board.

SW7
 0 : Boot from SD card
 1 : Boot from eMMC


7 VAR-SOM-MX8M-NANO

7.1 Build Results

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
Image.gz-fsl-imx8mn-var-som.dtb Device tree blob for SD, eMMC, WIFI and LVDS display configuration.


7.2 Build Results v2

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
Image.gz-fsl-imx8mn-var-som.dtb Device tree blob for SD, eMMC, WIFI and LVDS display configuration.
Image.gz-fsl-imx8mn-var-som-rev10.dtb Device tree blob for SD, eMMC, WIFI and LVDS display configuration rev 1.0.
Image.gz-fsl-imx8mn-var-som-m7.dtb Device tree blob for M7, SD, eMMC, WIFI and LVDS display configuration.
Image.gz-fsl-imx8mn-var-som-rev10-m7.dtb Device tree blob for M7, SD, eMMC, WIFI and LVDS display configuration rev 1.0.


7.3 Build Results v3

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mn-var-som.dtb Device tree blob for SD, eMMC, WIFI and LVDS display configuration.
imx8mn-var-som.dtb Device tree blob for SD, eMMC, WIFI and LVDS display configuration rev 1.0.


7.4 Build Results v4

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mn-var-som-symphony.dtb Device tree for VAR-SOM-MX8M-MINI on Symphony-Board V1.4A and above
imx8mn-var-som-symphony-m7.dtb Device tree for VAR-SOM-MX8M-MINI with Cortex-M7 on Symphony-Board V1.4A and above
imx8mn-var-som-symphony-legacy.dtb Device tree for VAR-SOM-MX8M-MINI on Symphony-Board V1.4 and below
imx8mn-var-som-symphony-legacy-m7.dtb Device tree for VAR-SOM-MX8M-MINI with Cortex-M7 on Symphony-Board V1.4 and below


7.5 Build Results v5

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mn-var-som-symphony.dtb Device tree for VAR-SOM-MX8M-MINI on Symphony-Board
imx8mn-var-som-symphony-m7.dtb Device tree for VAR-SOM-MX8M-MINI with Cortex-M7 on Symphony-Board


7.6 Device tree

Build only the device tree for VAR-SOM-MX8M-NANO:
$ make -j4 freescale/fsl-imx8mn-var-som.dtb


7.7 Device tree v2

Build only the device tree for VAR-SOM-MX8M-NANO:
$ make -j4 freescale/fsl-imx8mn-var-som.dtb

Build only the device tree for VAR-SOM-MX8M-NANO rev 1.0:
$ make -j4 freescale/fsl-imx8mn-var-som-rev10.dtb

Build only the device tree for VAR-SOM-MX8M-NANO with Cortex-M7:
$ make -j4 freescale/fsl-imx8mn-var-som-m7.dtb

Build only the device tree for VAR-SOM-MX8M-NANO rev 1.0 with Cortex-M7:
$ make -j4 freescale/fsl-imx8mn-var-som-rev10-m7.dtb


7.8 Device tree v3

Build only the device tree for VAR-SOM-MX8M-NANO:
$ make -j4 freescale/imx8mn-var-som.dtb

Build only the device tree for VAR-SOM-MX8M-NANO rev 1.0:
$ make -j4 freescale/imx8mn-var-som-rev10.dtb


7.9 Device tree v4

Build only the device tree for VAR-SOM-MX8M-NANO:
$ make -j4 freescale/imx8mn-var-som-symphony.dtb

Build only the device tree for VAR-SOM-MX8M-NANO rev 1.0:
$ make -j4 freescale/imx8mn-var-som-rev10-symphony.dtb


7.10 Device tree v5

Build only the device tree for VAR-SOM-MX8M-NANO on Symphony-Board V1.4A and above:
$ make -j4 freescale/imx8mn-var-som-symphony.dtb

Build only the device tree for VAR-SOM-MX8M-NANO with Cortex-M7 on Symphony-Board V1.4A and above:
$ make -j4 freescale/imx8mn-var-som-symphony-m7.dtb

Build only the device tree for VAR-SOM-MX8M-NANO on Symphony-Board V1.4 and below:
$ make -j4 freescale/imx8mn-var-som-symphony-legacy.dtb

Build only the device tree for VAR-SOM-MX8M-NANO with Cortex-M7 on Symphony-Board V1.4 and below:
$ make -j4 freescale/imx8mn-var-som-symphony-legacy-m7.dtb


7.11 Device tree v6

Build only the device tree for VAR-SOM-MX8M-NANO on Symphony-Board:
$ make -j4 freescale/imx8mn-var-som-symphony.dtb

Build only the device tree for VAR-SOM-MX8M-NANO with Cortex-M7 on Symphony-Board:
$ make -j4 freescale/imx8mn-var-som-symphony-m7.dtb


7.12 SD card image file tree

/opt/images/
└── Yocto
    ├── imx-boot-sd.bin
    └── rootfs.tar.gz


7.13 Setting the Boot Mode

Make sure the BOOT SELECT DIP switch on the carrier board is set correctly before you power on the board.

SW3
 0 : Boot from SD card
 1 : Boot from eMMC


8 DART-MX8M-PLUS

8.1 Basler Camera

8.1.1 local.conf for Zeus 2.3.0

IMAGE_INSTALL_append = " \
	basler-camera-driver \
	pylon \
	python3-pypylon \
	gentl-producer \
	kernel-module-isp-vvcam \
	imx8mp-modprobe-config \
	basler-camera \
	isp-imx \
	xauth \
"
PREFERRED_VERSION_isp-imx                 = "4.2.2.8+basler"
PREFERRED_VERSION_basler-camera           = "4.2.2.8+basler"
PREFERRED_VERSION_kernel-module-isp-vvcam = "4.2.2.8+basler"


8.1.2 local.conf for Zeus 2.3.2

IMAGE_INSTALL_append = " \
	kernel-module-basler-camera \
	pylon \
	python3-pypylon \
	gentl-producer \
	kernel-module-isp-vvcam \
	imx8mp-modprobe-config \
	basler-camera \
	isp-imx \
	xauth \
"
PREFERRED_VERSION_isp-imx                 = "4.2.2.13+basler"
PREFERRED_VERSION_basler-camera           = "4.2.2.13+basler"
PREFERRED_VERSION_kernel-module-isp-vvcam = "4.2.2.13+basler"


8.1.3 local.conf for Hardknott

IMAGE_INSTALL_append = " \
       pylon \
       python3-pypylon \
       gentl-producer \
       xauth \
       kernel-module-basler-camera \
"
IMAGE_INSTALL_append_mx8mp = " \
       imx8mp-modprobe-config \
       kernel-module-isp-vvcam \
       isp-imx \
       basler-camera \
"
PREFERRED_VERSION_isp-imx                 = "4.2.2.14+basler"
PREFERRED_VERSION_basler-camera           = "4.2.2.14+basler"
PREFERRED_VERSION_kernel-module-isp-vvcam = "4.2.2.14+basler"


8.1.4 local.conf for Hardknott with NXP support

IMAGE_INSTALL_append_mx8mp = " \
       kernel-module-isp-vvcam \
       isp-imx \
       basler-camera \
"


8.1.5 Gestreamer for Zeus 2.3.0

$ gst-launch-1.0 -v v4l2src device=/dev/video0 ! waylandsink sync=false


8.1.6 Gestreamer for Zeus 2.3.2

  • 1920x1080@30fps:
# gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! waylandsink sync=false
  • 3840x2160@30fps:
# gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=3840,height=2160" ! waylandsink sync=false


8.1.7 Switch cameras for Hardknott

# cd /boot
# ln -fs imx8mp-var-dart-dt8mcustomboard-basler-isp0.dtb imx8mp-var-dart-dt8mcustomboard.dtb
# ln -fs imx8mp-var-dart-dt8mcustomboard-legacy-basler-isp0.dtb imx8mp-var-dart-dt8mcustomboard-legacy.dtb
# ln -fs imx8mp-var-som-symphony-basler-isp0.dtb imx8mp-var-som-symphony.dtb

To switch back run the following commands at the shell prompt:

# cd /boot
# ln -fs imx8mp-var-dart-dt8mcustomboard-basler-isi0.dtb imx8mp-var-dart-dt8mcustomboard.dtb
# ln -fs imx8mp-var-dart-dt8mcustomboard-legacy-basler-isi0.dtb imx8mp-var-dart-dt8mcustomboard-legacy.dtb
# ln -fs imx8mp-var-som-symphony-basler-isi0.dtb imx8mp-var-som-symphony.dtb


8.1.8 Switch cameras for Hardknott with NXP support

# cd /boot
# mv imx8mp-var-dart-dt8mcustomboard.dtb imx8mp-var-dart-dt8mcustomboard-ov5640.dtb
# mv imx8mp-var-dart-dt8mcustomboard-legacy.dtb imx8mp-var-dart-dt8mcustomboard-legacy-ov5640.dtb
# mv imx8mp-var-som-symphony.dtb imx8mp-var-som-symphony-ov5640.dtb
# ln -fs imx8mp-var-dart-dt8mcustomboard-basler-isp0.dtb imx8mp-var-dart-dt8mcustomboard.dtb
# ln -fs imx8mp-var-dart-dt8mcustomboard-legacy-basler-isp0.dtb imx8mp-var-dart-dt8mcustomboard-legacy.dtb
# ln -fs imx8mp-var-som-symphony-basler-isp0.dtb imx8mp-var-som-symphony.dtb


8.1.9 Gestreamer for Hardknott with NXP support

$ gst-launch-1.0 -v v4l2src device=/dev/video0 ! waylandsink


8.2 Build Results

Image Name
How to use
fsl-image-gui-.wic.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mp-var-dart.dtb Device tree blob for DART-MX8M-PLUS
imx8mp-var-som.dtb Device tree blob for VAR-SOM-MX8M-PLUS
imx8mp-var-som-ov5640.dtb Device tree blob for VAR-SOM-MX8M-PLUS with a 2nd OV5640 camera


Image Name
How to use
fsl-image-gui-.wic.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8mp-var-dart-dt8mcustomboard.dtb Device tree blob for DART-MX8M-PLUS on DT8MCustomBoard V2.x and above
imx8mp-var-dart-dt8mcustomboard-legacy.dtb Device tree blob for DART-MX8M-PLUS on DT8MCustomBoard V1.x
imx8mp-var-som-symphony.dtb Device tree blob for VAR-SOM-MX8M-PLUS on Symphony-Board
imx8mp-var-som-symphony-2nd-ov5640.dtb Device tree blob for VAR-SOM-MX8M-PLUS on Symphony-Board with a 2nd OV5640 camera
imx8mp-var-dart-dt8mcustomboard-m7.dtb Device tree blob for DART-MX8M-PLUS with Cortex-M7 on DT8MCustomBoard V2.x and above
imx8mp-var-dart-dt8mcustomboard-legacy-m7.dtb Device tree blob for DART-MX8M-PLUS with Cortex-M7 on DT8MCustomBoard V1.x
imx8mp-var-som-symphony-m7.dtb Device tree blob for VAR-SOM-MX8M-PLUS with Cortex-M7 on Symphony-Board
imx8mp-var-som-symphony-2nd-ov5640-m7.dtb Device tree blob for VAR-SOM-MX8M-PLUS with Cortex-M7 on Symphony-Board with a 2nd OV5640 camera


8.3 Device tree

Build only the device tree for DART-MX8M-PLUS:
$ make -j4 freescale/imx8mp-var-dart.dtb

Build only the device tree for VAR-SOM-MX8M-PLUS:
$ make -j4 freescale/imx8mp-var-som.dtb

Build only the device tree for VAR-SOM-MX8M-PLUS with second OV5640 camera:
$ make -j4 freescale/imx8mp-var-som-ov5640.dtb


Build only the device tree for DART-MX8M-PLUS on DT8MCustomBoard V2.x and above:
$ make -j4 freescale/imx8mp-var-dart-dt8mcustomboard.dtb

Build only the device tree for DART-MX8M-PLUS on DT8MCustomBoard V1.x:
$ make -j4 freescale/imx8mp-var-dart-dt8mcustomboard-legacy.dtb

Build only the device tree for VAR-SOM-MX8M-PLUS on Symphony-Board:
$ make -j4 freescale/imx8mp-var-som-symphony.dtb

Build only the device tree for VAR-SOM-MX8M-PLUS on Symphony-Board with a 2nd OV5640 camera:
$ make -j4 freescale/imx8mp-var-som-symphony-2nd-ov5640.dtb


8.4 SD card image file tree

/opt/images/
└── Yocto
    ├── imx-boot-sd.bin
    └── rootfs.tar.gz


8.5 Setting the Boot Mode

Make sure the BOOT SELECT DIP switch on the carrier board is set correctly before you power on the board.

SW7
 0 : Boot from SD card
 1 : Boot from eMMC


9 VAR-SOM-MX8X

9.1 Build Results

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
DTB File Name
Description
fsl-imx8qxp-var-som-wifi.dtb Device tree blob for WIFI configuration. SD card disabled.
fsl-imx8qxp-var-som-sd.dtb Device tree blob for SD configuration. WIFI disabled.


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
DTB File Name
Description
imx8qxp-var-som-symphony-wifi.dtb Device tree blob for WIFI configuration. SD card disabled.
imx8qxp-var-som-symphony-wifi-m4.dtb Device tree blob for WIFI configuration, with Cortex-M4 support. SD card disabled.
imx8qxp-var-som-symphony-sd.dtb Device tree blob for SD configuration. WIFI disabled.
imx8qxp-var-som-symphony-sd-m4.dtb Device tree blob for SD configuration, with Cortex-M4 support. WIFI disabled.


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
DTB File Name
Description
fsl-imx8qxp-var-som-wifi.dtb Device tree blob for WIFI configuration. SD card disabled.
fsl-imx8qxp-var-som-sd.dtb Device tree blob for SD configuration. WIFI disabled.


Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
DTB File Name
Description
imx8qxp-var-som-symphony-wifi.dtb Device tree blob for WIFI configuration. SD card disabled.
imx8qxp-var-som-symphony-wifi-m4.dtb Device tree blob for WIFI configuration, with Cortex-M4 support. SD card disabled.
imx8qxp-var-som-symphony-sd.dtb Device tree blob for SD configuration. WIFI disabled.
imx8qxp-var-som-symphony-sd-m4.dtb Device tree blob for SD configuration, with Cortex-M4 support. WIFI disabled.


9.2 Device tree

Build only the device tree for VAR-SOM-MX8X WIFI configuration:
$ make -j4 freescale/fsl-imx8qxp-var-som-wifi.dtb

Build only the device tree for VAR-SOM-MX8X SD configuration:
$ make -j4 freescale/fsl-imx8qxp-var-som-sd.dtb


Build only the device tree for VAR-SOM-MX8X WIFI configuration:
$ make -j4 freescale/imx8qxp-var-som-symphony-wifi.dtb

Build only the device tree for VAR-SOM-MX8X SD configuration:
$ make -j4 freescale/imx8qxp-var-som-symphony-sd.dtb


9.3 SD card image file tree

/opt/images/
└── Yocto
    ├── imx-boot-sd.bin
    └── rootfs.tar.gz


9.4 Setting the Boot Mode

Make sure the BOOT SELECT DIP switch on the carrier board is set correctly before you power on the board.

SW3
 0 : Boot from SD card
 1 : Boot from eMMC (Internal)


10 VAR-SOM-MX8

10.1 Build Results

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
Image.gz-fsl-imx8qm-var-som-dp.dtb DTB file for VAR-SOM-MX8 with DP display
Image.gz-fsl-imx8qm-var-som-hdmi.dtb DTB file for VAR-SOM-MX8 with HDMI display
Image.gz-fsl-imx8qm-var-som-lvds.dtb DTB file for VAR-SOM-MX8 with LVDS display
Image.gz-fsl-imx8qm-var-spear-dp.dtb DTB file for SPEAR-MX8 with DP display
Image.gz-fsl-imx8qm-var-spear-hdmi.dtb DTB file for SPEAR-MX8 with HDMI display
Image.gz-fsl-imx8qm-var-spear-lvds.dtb DTB file for SPEAR-MX8 with LVDS display


10.2 Build Results v2

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8qm-var-som-dp.dtb DTB file for VAR-SOM-MX8 with DP display
imx8qm-var-som-hdmi.dtb DTB file for VAR-SOM-MX8 with HDMI display
imx8qm-var-som-lvds.dtb DTB file for VAR-SOM-MX8 with LVDS display
imx8qm-var-spear-dp.dtb DTB file for SPEAR-MX8 with DP display
imx8qm-var-spear-hdmi.dtb DTB file for SPEAR-MX8 with HDMI display
imx8qm-var-spear-lvds.dtb DTB file for SPEAR-MX8 with LVDS display


10.3 Build Results v3

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8qm-var-som-dp.dtb DTB file for VAR-SOM-MX8 with DP display
imx8qm-var-som-hdmi.dtb DTB file for VAR-SOM-MX8 with HDMI display
imx8qm-var-som-lvds.dtb DTB file for VAR-SOM-MX8 with LVDS display
imx8qm-var-spear-dp.dtb DTB file for SPEAR-MX8 with DP display
imx8qm-var-spear-hdmi.dtb DTB file for SPEAR-MX8 with HDMI display
imx8qm-var-spear-lvds.dtb DTB file for SPEAR-MX8 with LVDS display


10.4 Build Results v4

Image Name
How to use
fsl-image-gui-.sdcard.gz This image is for SD card boot.
It can be flashed as-is on an SD card that can then be used to boot your system,
according to the relevant startup-guide of your product
(usually requires to press the boot select button, or toggle a DIP switch).
For detailed information refer to the Create a bootable SD card section below.
fsl-image-gui-.tar.gz Tarball with rootfs files.
Can be used to create an NFS root file system on the host.
See the Yocto Setup TFTP/NFS section for more info.
Also used to create our extended SD card.
See the Create a bootable SD card section below.
Linux kernel image, same binary for SD card and eMMC.
U-Boot built for SD card boot or eMMC boot.
File Name
Description
imx8qm-var-som-symphony-dp.dtb DTB file for VAR-SOM-MX8 with DP display on Symphony Board
imx8qm-var-som-symphony-hdmi.dtb DTB file for VAR-SOM-MX8 with HDMI display on Symphony Board
imx8qm-var-som-symphony-lvds.dtb DTB file for VAR-SOM-MX8 with LVDS display on Symphony Board
imx8qm-var-som-symphony-dp-m4.dtb DTB file for VAR-SOM-MX8 with DP display and Cortex-M4 on Symphony Board
imx8qm-var-som-symphony-hdmi-m4.dtb DTB file for VAR-SOM-MX8 with HDMI display and Cortex-M4 on Symphony Board
imx8qm-var-som-symphony-lvds-m4.dtb DTB file for VAR-SOM-MX8 with LVDS display and Cortex-M4 on Symphony Board
imx8qm-var-spear-sp8customboard-dp.dtb DTB file for SPEAR-MX8 with DP display on SP8CustomBoard
imx8qm-var-spear-sp8customboard-hdmi.dtb DTB file for SPEAR-MX8 with HDMI display on SP8CustomBoard
imx8qm-var-spear-sp8customboard-lvds.dtb DTB file for SPEAR-MX8 with LVDS display on SP8CustomBoard
imx8qm-var-spear-sp8customboard-dp-m4.dtb DTB file for SPEAR-MX8 with DP display and Cortex-M4 on SP8CustomBoard
imx8qm-var-spear-sp8customboard-hdmi-m4.dtb DTB file for SPEAR-MX8 with HDMI display and Cortex-M4 on SP8CustomBoard
imx8qm-var-spear-sp8customboard-lvds.m4.dtb DTB file for SPEAR-MX8 with LVDS display and Cortex-M4 on SP8CustomBoard


10.5 Device tree

Build device tree for VAR-SOM-MX8 with DP display:
$ make -j4 freescale/fsl-imx8qm-var-som-db.dtb

Build device tree for VAR-SOM-MX8 with HDMI display:
$ make -j4 freescale/fsl-imx8qm-var-som-hdmi.dtb

Build device tree for VAR-SOM-MX8 with LVDS display:
$ make -j4 freescale/fsl-imx8qm-var-som-db.dtb

Build device tree for SPEAR-MX8 with DP display:
$ make -j4 freescale/fsl-imx8qm-var-spear-db.dtb

Build device tree for SPEAR-MX8 with HDMI display:
$ make -j4 freescale/fsl-imx8qm-var-spear-hdmi.dtb

Build device tree for SPEAR-MX8 with LVDS display:
$ make -j4 freescale/fsl-imx8qm-var-spear-lvds.dtb


10.6 Device tree v2

Build device tree for VAR-SOM-MX8 with DP display:
$ make -j4 freescale/imx8qm-var-som-db.dtb

Build device tree for VAR-SOM-MX8 with HDMI display:
$ make -j4 freescale/imx8qm-var-som-hdmi.dtb

Build device tree for VAR-SOM-MX8 with LVDS display:
$ make -j4 freescale/imx8qm-var-som-db.dtb

Build device tree for SPEAR-MX8 with DP display:
$ make -j4 freescale/imx8qm-var-spear-db.dtb

Build device tree for SPEAR-MX8 with HDMI display:
$ make -j4 freescale/imx8qm-var-spear-hdmi.dtb

Build device tree for SPEAR-MX8 with LVDS display:
$ make -j4 freescale/imx8qm-var-spear-lvds.dtb


10.7 Device tree v3

Build device tree for VAR-SOM-MX8 with DP display on Symphony Board:
$ make -j4 freescale/imx8qm-var-som-symphony-dp.dtb

Build device tree for VAR-SOM-MX8 with HDMI display on Symphony Board:
$ make -j4 freescale/imx8qm-var-som-symphony-hdmi.dtb

Build device tree for VAR-SOM-MX8 with LVDS display on Symphony Board:
$ make -j4 freescale/imx8qm-var-som-symphony-lvds.dtb

Build device tree for VAR-SOM-MX8 with DP display and Cortex-M4 on Symphony Board:
$ make -j4 freescale/imx8qm-var-som-symphony-dp-m4.dtb

Build device tree for VAR-SOM-MX8 with HDMI display and Cortex-M4 on Symphony Board:
$ make -j4 freescale/imx8qm-var-som-symphony-hdmi-m4.dtb

Build device tree for VAR-SOM-MX8 with LVDS display and Cortex-M4 on Symphony Board:
$ make -j4 freescale/imx8qm-var-som-symphony-lvds-m4.dtb

Build device tree for SPEAR-MX8 with DP display on SP8CustomBoard:
$ make -j4 freescale/imx8qm-var-spear-sp8customboard-dp.dtb

Build device tree for SPEAR-MX8 with HDMI display on SP8CustomBoard:
$ make -j4 freescale/imx8qm-var-spear-sp8customboard-hdmi.dtb

Build device tree for SPEAR-MX8 with LVDS display on SP8CustomBoard:
$ make -j4 freescale/imx8qm-var-spear-sp8customboard-lvds.dtb

Build device tree for SPEAR-MX8 with DP display and Cortex-M4 on SP8CustomBoard:
$ make -j4 freescale/imx8qm-var-spear-sp8customboard-dp-m4.dtb

Build device tree for SPEAR-MX8 with HDMI display and Cortex-M4 on SP8CustomBoard:
$ make -j4 freescale/imx8qm-var-spear-sp8customboard-hdmi-m4.dtb

Build device tree for SPEAR-MX8 with LVDS display and Cortex-M4on SP8CustomBoard:
$ make -j4 freescale/imx8qm-var-spear-sp8customboard-lvds-m4.dtb


10.8 SD card image file tree

/opt/images/
└── Yocto
    ├── imx-boot-sd.bin
    └── rootfs.tar.gz


10.9 DTB files table

DTB File Name
Description
fsl-imx8qm-var-som-dp.dtb Device tree blob for VAR-SOM-MX8 with DP display
fsl-imx8qm-var-som-hdmi.dtb Device tree blob for VAR-SOM-MX8 with HDMI display
fsl-imx8qm-var-som-lvds.dtb Device tree blob for VAR-SOM-MX8 with LVDS display
fsl-imx8qm-var-spear-dp.dtb Device tree blob for SPEAR-MX8 with DP display
fsl-imx8qm-var-spear-hdmi.dtb Device tree blob for SPEAR-MX8 with HDMI display
fsl-imx8qm-var-spear-lvds.dtb Device tree blob for SPEAR-MX8 with LVDS display


10.10 DTB files table v2

DTB File Name
Description
imx8qm-var-som-dp.dtb Device tree blob for VAR-SOM-MX8 with DP display
imx8qm-var-som-hdmi.dtb Device tree blob for VAR-SOM-MX8 with HDMI display
imx8qm-var-som-lvds.dtb Device tree blob for VAR-SOM-MX8 with LVDS display
imx8qm-var-spear-dp.dtb Device tree blob for SPEAR-MX8 with DP display
imx8qm-var-spear-hdmi.dtb Device tree blob for SPEAR-MX8 with HDMI display
imx8qm-var-spear-lvds.dtb Device tree blob for SPEAR-MX8 with LVDS display


10.11 Setting the Boot Mode

Make sure the BOOT SELECT DIP switch on the carrier board is set correctly before you power on the board.

SW3 on VAR-SOM-MX8, SW6 on SPEAR-MX8
 0 : Boot from SD card
 1 : Boot from eMMC (Internal)


11 Release Notes

Based on release Yocto: Poky , BSP: NXP, Linux: [ ]
Release tag [/tree/ ]
Date
Supported platforms
SOM revision
Variscite BSP git [/tree/ ]
Variscite BSP branch [/tree/ ]
Variscite BSP commit ID [/commit/ ]
Kernel git [/tree/ ]
Kernel branch [/tree/ ]
Kernel commit ID [/commit/ ]
U-Boot git [/tree/ ]
U-Boot branch [/tree/ ]
U-Boot commit ID [/commit/ ]
File System build system Yocto
Recovery SD card link [/ ]

12 Configuring RS485 Half-Duplex

Each UART can be configured for RS485 Half-Duplex mode by using a GPIO pin to drive the receive and transmit enable inputs. This can be configured in the device tree by making the following changes to the uart node and replacing X, Y & Z with the proper values:

&uartX {                                                          /* Add RS485 properties to uartX */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uartX>, <&pinctrl_uartX_rs485>;     /* Add RS485 GPIO pinctrl */
	rts-gpios = <&gpioY Z GPIO_ACTIVE_LOW>;                   /* Add rts-gpios property */
	linux,rs485-enabled-at-boot-time;                         /* Enable RS485 at boot time to skip using TIOCSRS485 ioctl */
	status = "okay";
};

Next, configure the RS485 GPIO pin by adding pinctrl_uartX_rs485 to iomuxc. Replace X, GPIO_PIN_FUNCTION, and GPIO_PIN_SETTINGS with the proper values:

&iomuxc {
	pinctrl_uartX_rs485: uartXrs485 {
		fsl,pins = <
			GPIO_PIN_FUNCTION  GPIO_PIN_SETTINGS
		>;
	};
};

Note: For more information about configuring pins, please see i.MX Device Tree Pinmux Settings Guide


After making these changes, RS485 mode will be enabled by default and can be verified from the console by running the commands below. Replace N with the proper value, which is typically X-1 relative to the device tree node uartX:

# stty -F /dev/ttymxcN -echo -onlcr 115200
# echo hello > /dev/ttymxcN

The below logic analyzer capture shows the RS485 RX/TX enable line toggling when writing to the UART:

Rs485.png


Please refer to the Linux device tree bindings for more RS485 configuration options.


 Expression error: Unexpected > operator. Expression error: Unexpected >= operator. Expression error: Unexpected >= operator.  
$ cd 
$ MACHINE= DISTRO=  


The above command is only mandatory for the very first build setup: whenever restarting a newer build session (from a different terminal or in a different time), you can skip the full setup and just run

$ cd 
$ source setup-environment 

13 Platform Customizations

13.1 VAR-SOM-MX6

13.2 DART-6UL

13.3 VAR-SOM-MX7

13.4 DART-MX8M

13.5 DART-MX8M-MINI

13.6 VAR-SOM-MX8M-NANO

13.7 DART-MX8M-PLUS

13.8 VAR-SOM-MX8X

13.9 VAR-SOM-MX8

 = Release Notes =
         
Based on release B2Qt Hardknott, Poky 3.3, BSP: NXP L5.10.72_2.2.1, Linux: lf-5.10.y
Release git [/tree/ ]
Release tag [/tree/ ]
Release Branch [/tree/ ]
Date 06/24/2022
Supported platforms VAR-SOM-MX8 / SPEAR-MX8
SOM revision v1.1 and higher
Embedded Linux Distribution B2Qt Community BSP Hardknott 3.3 based
B2Qt Community BSP link [ ]
Qt version
Kernel git https://github.com/varigit/linux-imx
Kernel branch lf-5.10.y_var04
U-Boot git https://github.com/varigit/uboot-imx
U-Boot branch lf_v2021.04_var03
Cortex M4 U-Boot supportMCUXPRESSO_2.9.0_V1.0_VAR-SOM-MX8
Cortex M4 Linux remoteproc supportMCUXPRESSO_2.9.0_V1.0_VAR-SOM-MX8
File System build system B2Qt Hardknott
Recovery SD card link mx8__yocto-hardknott-5.10.72_2.2.1-v1.1__android-11.0.0_1.0.0-v1.3.img.gz

14 B2QT Platform Customizations

14.1 VAR-SOM-MX6

14.1.1 morty-b2qt-4.1.15-mx6-v1.0

14.1.2 thud-b2qt-4.14.78-mx6-v1.0

14.2 DART-6UL

14.2.1 morty-b2qt-4.1.15-mx6ul-v1.0

  • RELEASE_NAME = morty-b2qt-4.1.15-mx6ul-v1.0
  • RELEASE_LINK = RELEASE_MORTY_B2QT_V1.0_DART-6UL
  • YOCTO_NAME = Morty
  • YOCTO_VERSION = 2.2.1
  • B2QT_BSP_VERSION = 5.9
  • FSL_BSP_VERSION = L4.1.15_2.0.0-ga
  • RECOVERY_SD_NAME = morty-b2qt-4.1.15-mx6ul-v1.0.img.gz
  • RECOVERY_SD_URL = ftp://customerv:Variscite1@ftp.variscite.com/DART-6UL/Software/b2qt
  • RELEASE_NOTES_LINK = TBD
  • MACHINE_NAME = imx6ul-var-dart
  • B2QT_GIT = https://github.com/varigit/meta-variscite-boot2qt.git
  • YOCTO_BRANCH = morty
  • B2QT_BUILD_RESULTS_SECTION = DART-6UL_BUILD_RESULTS
  • B2QT_BOOT_BOARD_SECTION = DART-6UL_BOOT_BOARD
  • KERNEL_DTB_SECTION = DART-6UL_DTB
  • SD_TREE_SECTION = DART-6UL_SD_TREE
  • QT_PLATFORM_PLUGIN = eglfs

14.2.2 morty-b2qt-4.1.15-mx6ul-v1.1

14.2.3 thud-b2qt-4.14.78-mx6ul-v1.0

14.2.4 zeus-b2qt-5.4.3-mx6ul-v1.0

14.2.5 zeus-b2qt-5.4.3-mx6ul-v1.1

14.2.6 zeus-b2qt-5.4.3-mx6ul-v1.2

14.3 VAR-SOM-MX7

14.3.1 morty-b2qt-4.1.15-mx7-v1.0

14.3.2 thud-b2qt-4.14.78-mx7-v1.0

14.3.3 dunfell-b2qt-5.4.85-mx7-v1.0

14.3.4 mx7-b2qt-dunfell-5.4-2.1.x-v1.1







14.4 DART-MX8M-MINI

14.5 VAR-SOM-MX8M-NANO

14.6 VAR-SOM-MX8


i.MX High Assurance Boot (HAB) / Secure Boot

15 HAB introduction

HAB is an optional feature in the i.MX SOC family, which allows you to make sure only software images signed by you can be executed on the SOC.
It incorporates boot ROM level security which cannot be altered after programming the appropriate one-time electrically programmable fuses (eFuses). The boot ROM is responsible for loading the initial software image from the boot medium (usually this initial software is a bootloader such as SPL/U-Boot. HAB enables the boot ROM to authenticate the initial software image by using digital signatures. It also provides a mechanism to establish a chain of trust for the remaining software components (such as the kernel image) and thus to establish a secure state of the system.

HAB authentication is based on public key cryptography using the RSA algorithm.
It consists of the following stages:

1. Offline signing of the software images using private keys.
The image data is signed offline using a series of private keys. This is done using NXP's Code Signing Tool, and Variscite's scripts, which make the process extremely easy and simple.

2. Fusing the i.MX SOC with the corresponding public keys.
The key structure is called a PKI tree and Super Root Keys (SRK) are components of it. A table of the public SRKs are hashed and permanently written to the SOC using eFuses.
You have the option to let the processor keep running unsigned images, while creating useful HAB messages, until you decide to “close” it by writing a dedicated bit using another eFuse. This allows you to test the sign-authenticate process and verify that it was done correctly before completely and permanently “closing” the processor to only execute your signed images.

3. Authentication of the software images on the target during boot time.
The signed image data is verified on the i.MX processor using the corresponding public keys.
HAB evaluates the SRK table included in the signature by hashing it and comparing the result to the SRK fuse values. If the SRK verification is successful, this establishes the root of trust, and the remainder of the signature can be processed to authenticate the image.

Once the initial bootloader is authenticated and executed, the chain of trust continues by authenticating each of the next loaded images before executing them.
E.g. The boot ROM authenticates SPL, SPL authenticates U-Boot, and U-Boot authenticates the Linux kernel.

HAB operation.png

16 References


17 Code signing step by step instructions

17.1 Toolchain installation for out of Yocto builds

To install the toolchain, follow Yocto Toolchain installation.

17.2 Build U-Boot with secure boot support

Obtain sources:

$ cd ~
$ git clone https://github.com/varigit/uboot-imx.git
$ cd uboot-imx
$ git checkout lf_v2021.04_var03

Build U-Boot:

$ source /opt/b2qt/3.3/environment-setup-aarch64-poky-linux
$ make mrproper
Choose one of the following configurations:

For booting from SD card/eMMC:
$ make N/A

For booting from NAND flash:
$ make mx7dvar_som_nand_SECURE_BOOT_defconfig
$ make -j4

Make sure you get the following files:

imx-boot-sd.bin
imx-boot-sd.bin.log


17.3 Download and unpack the Freescale Code Signing Tool (CST)

Download the Freescale Code Signing Tool (CST) for the High Assurance Boot (HAB) library from the NXP website (registration required):
https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IMX_CST_TOOL

Unpack the downloaded archive:

$ cd ~
$ tar xf ~/Downloads/cst-2.3.3.tar.gz

You are encouraged to read the documents under ~/cst-2.3.3/docs

17.4 Download the Variscite CST scripts

$ cd ~/cst-2.3.3/linux64/bin
$ git init
$ git remote add origin https://github.com/varigit/var-hab-cst-scripts.git
$ git pull origin master

17.5 Generate Public Key Infrastructure (PKI) tree

$ cd ~/cst-2.3.3/keys

Create a text file called "serial", which contains 8 digits. It will be used for the certificate serial numbers.
For example:

$ echo 12481632 > serial

Create a text file called "key_pass.txt", which contains two lines of a password repeated twice.
This password will be used to protect the generated private keys.
All private keys in the PKI tree are in PKCS #8 format will be protected by the same password.
For example:

$ echo Variscite_password >  key_pass.txt
$ echo Variscite_password >> key_pass.txt

Now, to generate the PKI tree, run the following:

$ ./hab4_pki_tree.sh

And complete the interactive questions. For example:

Do you want to use an existing CA key (y/n)?: n
Do you want to use Elliptic Curve Cryptography (y/n)?: n
Enter key length in bits for PKI tree: 4096
Enter PKI tree duration (years): 10
How many Super Root Keys should be generated? 4
Do you want the SRK certificates to have the CA flag set? (y/n)?: y

This example tree creates a new CA, uses 4096 bit keys, lasts for 10 years (HAB does not consider the duration), and has 4 SRKs.
For all Variscite products (technically, for all i.MX series HABv4 enabled parts except the i.MX6SX), the last question regarding the “CA flag” in the SRK must be answered as "y".
The resulting private keys are placed in the keys directory of the CST, and the corresponding X.509 certificates are placed in the crts directory.
Note that the names of the created certificate files reflect the options you chose here (such as the key length), so if you chose different values than the above example you may need to make adjustments to the file names in the next section (Generate SRK table), and in the default csf file (var-default.csf).

17.6 Generate Super Root Key (SRK) table

Using the X.509v3 public key certificates from the previous step, create the SRK table (a table of the public SRKs) and the SRK fuse table to be programmed into the SOC fuses:

$ cd ~/cst-2.3.3/crts
$ ../linux64/bin/srktool -h 4 -t SRK_1_2_3_4_table.bin -e SRK_1_2_3_4_fuse.bin -d sha256 -c \
./SRK1_sha256_4096_65537_v3_ca_crt.pem,./SRK2_sha256_4096_65537_v3_ca_crt.pem,./SRK3_sha256_4096_65537_v3_ca_crt.pem,./SRK4_sha256_4096_65537_v3_ca_crt.pem -f 1

17.7 Program the SRK (public keys) to the SOC e-fuses

Run the following script to display the U-Boot commands for programming the SRK fuses with the values from your SRK fuse table:

$ cd ~/cst-2.3.3/linux64/bin
$ ./var-u-boot_fuse_commands.sh mx8mp

Boot the board, hit any key at the right time to stop autoboot and get to the U-Boot command line, and run the commands outputted by the above script.
The commands should look similar to the following.
Important notes:
- The following values are just an example - you should use your own values!
- These are One-Time Programmable e-fuses. Once you write them you can't go back, so get it right the first time.

fuse prog 3 0 0x512193BE
fuse prog 3 1 0x220E1AD7
fuse prog 3 2 0x7B3F68C5
fuse prog 3 3 0x41DEA681
fuse prog 3 4 0xFBCA5CEF
fuse prog 3 5 0xA537BF95
fuse prog 3 6 0x888E9AF
fuse prog 3 7 0x1136264D

17.8 Sign the U-Boot and kernel images

17.8.1 The signing process

  • General usage of the Variscite var-som_sign_image.sh script:
Usage: SOC=mx8mp var-som_sign_image.sh IMGFILE [IMGEFILE]...


Note: for a U-Boot image, make sure its log file is present in the same directory


  • What the script does:

In the build process of U-Boot with secure boot support, the U-Boot image size is already aligned to 4KB. Also, the HAB Blocks data is saved to the imx-boot-sd.bin.log file.

When a log file is not present for an image, the script assumes it is a regular kernel image, so the image is first padded to align its size to 4KB, and an IVT is created and appended to it.
The kernel IVT binary content is this:

0x412000D1                   # IVT Header: Tag=0xD1, Length=0x0020, Ver=0x41
loadaddr+0x1000              # Jump Location
0x0                          # Reserved1
0x0                          # DCD pointer
0x0                          # Boot Data
loadaddr+IVT_offset          # Self Pointer
loadaddr+IVT_offset+IVT_size # CSF Pointer
0x0                          # Reserved2


The script uses the following default command sequence file (csf) data and fills in the correct Blocks values under the "Authenticate Data" section:

[Header]
Version = 4.1
Hash Algorithm = sha256
Engine = ANY
Engine Configuration = 0
Certificate Format = X509
Signature Format = CMS

[Install SRK]
File = "../crts/SRK_1_2_3_4_table.bin"
Source index = 0        # Index of the key location in the SRK table to be installed

[Install CSFK]
# Key used to authenticate the CSF data
File = "../crts/CSF1_1_sha256_4096_65537_v3_usr_crt.pem"

[Authenticate CSF]

[Install Key]
# Key slot index used to authenticate the key to be installed
Verification index = 0
# Target key slot in HAB key store where key will be installed
Target index = 2
# Key to install
File = "../crts/IMG1_1_sha256_4096_65537_v3_usr_crt.pem"

[Authenticate Data]
# Key slot index used to authenticate the image data
Verification index = 2
#        Address      Offset     Length       Data File Path
Blocks =

The meanings of the Blocks values are:

Address        - the RAM address to start the authentication from (where the image will be loaded)
Offset         - the signed area offset inside the image
Length         - the signed area size
Data File Path - the path to the image to be signed

If a log file is present for an image, the script takes the HAB Blocks values from it.

For a kernel image (no log file) the HAB Blocks values are filled like this: Address is set to the default kernel loadaddr (0x80800000), Offset is set to 0x0, and Length is set to the size of the new 4KB aligned+IVT attached image.

For an IMX Boot Image, the following is also added to the csf, in order to prevent HAB from initializing the RNG and defer it for the Linux CAAM driver (this is still needed in CST 2.3.2 even though it's supposed to be added automatically by CST since 2.3):

[Unlock]
Engine = CAAM
Features = RNG


Next, the script generates the csf binary, and finally, appends it to the image.

17.8.2 Sign the images

Copy the images to the linux64/bin directory of CST.
Use the U-Boot images created in the Build U-Boot with secure boot support section above.
The kernel image can be obtained from either the recovery SD card, a Yocto build or built directly from source code (replace <kernel_dir> below, accordingly).

$ cd ~/cst-2.3.3/linux64/bin
$ cp ~/uboot-imx/imx-boot-sd.bin ~/uboot-imx/imx-boot-sd.bin.log .
$ cp <kernel_dir>/Image.gz .

Sign the images:

$ SOC=mx8mp ./var-som_sign_image.sh imx-boot-sd.bin Image.gz

Make sure you get the following files:

imx-boot-sd.bin_signed
Image.gz-ivt_signed

17.9 Install the signed images on an SD card

Replace the regular images with the signed ones.
For example, to install on an SD card:

$ sudo dd if=imx-boot-sd.bin_signed of=/dev/sdX bs=1K seek=1; sync
$ sudo cp Image.gz-ivt_signed /media/BOOT-VARMX7/Image.gz
(Replace /dev/sdX with the correct device
 and /media/BOOT-VARMX7 with the correct mount directory of the boot partition)

If you want to use our recovery SD card to flash the signed images to NAND flash/eMMC, then copy them to the appropriate location in the SD card, while overwriting the regular images:

$ sudo cp imx-boot-sd.bin_signed /media/rootfs/opt/images/...
$ sudo cp Image.gz-ivt_signed /media/rootfs/opt/images/...

And eject the SD card gracefully from host machine.

17.10 Verify HAB successfully authenticates the signed image

HAB generates events when processing the commands if it encounters issues.
The U-Boot "hab_status" command displays any events that were generated.
Run it at the U-Boot command line:

=> hab_status

If everything is okay you should get the following output:

Secure boot disabled

HAB Configuration: 0xf0, HAB State: 0x66
No HAB Events Found!

Make sure there are not events before proceeding to the next step.

17.11 Secure the device

After the device successfully boots a signed image without generating any HAB events, it is safe to secure, or "close", the device.
This is the last step in the process, and is completed by blowing the SEC_CONFIG[1] fuse bit.
Once the fuse is blown, the chip does not load an image that has not been signed using the correct PKI tree.
Important notes:
- This is again a One-Time Programmable e-fuse. Once you write it you can't go back, so get it right the first time.
- If anything in the previous steps wasn't done correctly, the SOM will not boot after writing this bit.

fuse prog 0 6 0x2

18 Field Return

After securing the device, the FIELD_RETURN e-fuse may be used to disable secure boot. Once the FIELD_RETURN e-fuse is blown, the SoC will permanently be able to boot unsigned images.

This can be helpful for:

  • Debugging returned units
  • Complying with open source licenses and allow end users to disable secure boot
  • Booting unsigned images
  • Etc...
Note: The FIELD_RETURN e-fuse can only be blown by booting a signed image after unlocking FIELD_RETURN in SPL.csf.

Enabling FIELD_RETURN requires the following process:

  1. Read the SoC UID (factory programmed by NXP)
  2. Modify the [Unlock] section of SPL.csf
  3. Sign a new image using the updated SPL.csf
  4. Blow the FIELD_RETURN bit

For example:

Read the SoC UID

=> fuse read 0 2
Reading bank 0:

Word 0x00000002: 01234567
=> fuse read 0 1
Reading bank 0:

Word 0x00000001: 89abcdef

Modify the [Unlock] section of SPL.csf:

[Unlock]
Engine = OCOTP
Features = FIELD RETURN
UID = 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01

Rebuild SPL.csf:

Comment out the following lines in the var-sign_image.sh script: https://github.com/varigit/var-hab-cst-scripts/blob/master/var-sign_image.sh#L31-L41

Re-sign the SPL image:

$ SOC=mx8mp var-som_sign_image.sh SPL


Install the signed images on an SD card (See Install the signed images on an SD card)

Blow the field return fuse:

=> fuse prog 5 6 1
Programming bank 5 word 0x00000006 to 0x00000001...
Warning: Programming fuses is an irreversible operation!
This may brick your system.
Use this command only if you are sure of what you are doing!

Really perform this fuse programming? <y/N>
y

After performing this process, rebuild SPL and U-Boot with secure boot disabled to boot unsigned images.

Warning: After blowing the FIELD_RETURN e-fuse, it will be possible to boot unsigned images. This cannot be undone.