This repository contains Yocto layers and recipes to support the ARIES Embedded i.MX modules on the Evaluation Kits, which is based on NXP's i.MX Software Release v6.6.36_2.1.0.
The following boards were tested in this release:
• MSIX93EVK (ARIES Embedded module MSIX93 on EVK)
This Yocto support is based on NXP's meta-imx and derived from meta-imx-frdm.
Run the commands below to download this release:
# Install the repo utility:
$ mkdir ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ PATH=${PATH}:~/bin
# Download i.MX Linux Yocto Release:
$ export MY_YOCTO=<path> # this directory will be the top directory of the Yocto source code
$ mkdir ${MY_YOCTO}
$ cd ${MY_YOCTO}
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync
If errors on repo init, remove the .repo directory and try repo init again.
# Integrate meta-aries-imx recipes into the Yocto code base:
$ cd ./sources
$ git clone https://github.com/ARIES-Embedded/meta-aries-imx.git
$ cd meta-aries-imx
Change to the top directory of the Yocto source code and execute the command below to setup environment for build.
# For MSIX93EVK
$ cd ${MY_YOCTO}
$ MACHINE=msix93evk DISTRO=fsl-imx-xwayland source sources/meta-aries-imx/tools/aries-imx-setup.sh -b msix93evk
Run the command below to generate Yocto images:
$ bitbake <image recipe>
Some image recipes:
| Image Name | Description |
|---|---|
| msix-image-base | small core image with basic graphic support for MSIX |
| imx-image-core | core image with basic graphics and no multimedia |
| imx-image-multimedia | image with multimedia and graphics |
| imx-image-full | image with multimedia and machine learning and Qt |
For the MSIX modules and boards, there is a custom image msix-image-base for NOR flash and customers can customize it according to their requirements. To burn this single-boot image and rootfs to SPI-NOR, run the following command (refer to example_kernel_nand.uuu for details):
uuu example_kernel_nand.uuu
Create an SD Card on Linux Host:
The SD card image (with the extension .wic) contains U-Boot, Linux image, device trees and the rootfs.
Run the following command to copy the SD card image to the SD/MMC card. Change sdx below to match the one used by the SD card.
$ sudo dd if=<image name>.wic of=/dev/sdx bs=1M && sync
or
zstdcat <image_name>.wic.zst | sudo dd of=/dev/sdx bs=1M conv=fsync
Universal update utility:
The Universal Update Utility (UUU) runs on a Windows or Linux OS host and is used to download images to different devices on an i.MX board.
Download UUU version 1.5.125 or higher from https://github.com/NXPmicro/mfgtools/releases.
Using UUU:
- Connect a USB cable from a computer to the USB OTG/TYPE C port on the board for download link.
- Connect a USB cable from the OTG-to-UART port to the computer for console output.
- Open a Terminal emulator program.
- Set the boot pin to serial download mode.
To burn single-boot image and rootfs with UUU:
• To burn single-boot image and rootfs to SD Card, run the following command:
uuu -b sd_all <bootloader> <image_name>.wic.zst
• To burn single-boot image and rootfs to eMMC, run the following command:
uuu -b emmc_all <bootloader> <image_name>.wic.zst
• To burn single-boot image to SPI-NOR, run the following command:
uuu -b qspi <bootloader>
More information about i.MX Linux BSP release, which can be found at NXP official website.
Information about MSIX93 module can be found at MSIX93
Information about MSIX93EVK module can be found at MSIX93EVK
More information about i.MX Linux BSP release, which can be found at NXP official website. Here are some documents for reference:
• i.MX Yocto Project User's Guide
Describes how to build an image for an i.MX board by using a Yocto Project build environment.
Describes how to build and install the i.MX Linux OS BSP. It also covers special i.MX features and how to use them.
Provides information of i.MX family Linux Board Support Package (BSP).
Provides the instructions on porting the BSP to a new board.