Yocto Gatesgarth Release for i.MX8 Platforms

Published on March 17, 2021

We are pleased to announce a new Yocto release Gatesgarth for our Nitrogen8 family of SBCs and SOMs based on i.MX8 processors. This release includes our latest 5.4 kernel. Below you will find download links for the images as well as detailed instructions for building including a features set.

For the Impatient

You can download the Yocto images from here:

As usual, you'll need to register on our site and agree to the EULA because it contains NXP content.

How to Burn

You can program the SW to eMMC using the instructions below:

programming-emmc-on-i-mx-platforms

You can also program the SW to SD Card or USB Stick via zcat and dd under Linux:

~$ zcat *boundary-image*.wic.gz | sudo dd of=/dev/sdX bs=1M

In addition, you can use the balenaEtcher utility to flash the eMMC, SD Card or USB stick via Windows or Linux:

balenaEtcher

Build procedure

This image uses the gatesgarth branch of our boundary-bsp-platform repository.

To build the image, we recommend using a Docker Container so that you can build with a reproducible and stable build environment. Otherwise, you’ll need these packages installed as well as this repo tool that can be installed like this:

~$ sudo apt-get install repo

Then create your build directory and initialize everything:

~$ mkdir ~/gatesgarth && cd gatesgarth
~/gatesgarth$ repo init -u https://github.com/boundarydevices/boundary-bsp-platform -b gatesgarth
~/gatesgarth$ repo sync

Next, set up the environment for building. For this image, we will be building our boundary-xwayland distro for the target machine:

~/gatesgarth$ MACHINE= DISTRO=boundary-xwayland . setup-environment build

Now bitbake boundary-image-multimedia-full which is equivalent to fsl-image-multimedia-full with Boundary-specific packages added such as BD-SDMAC support.

~/gatesgarth/build$ bitbake boundary-image-multimedia-full

The image file will deploy to tmp/deploy/images/{MACHINE}/boundary-image-multimedia-full-{MACHINE}.wic.gz.

Features list

The image built above contains the following components:

  • Linux kernel 5.4.x_2.3.0
  • U-Boot 2020.10
  • Weston 8.0.0 for i.MX
  • GStreamer 1.16 for i.MX
  • GPU Vivante libraries 6.4.3p1.0
  • VPU Hantro libraries v1.19.0
  • ISP VVCAM v4.2.2.2
  • qcacld-lea-2.0 Wi-Fi driver for BD-SDMAC
  • BlueZ 5.55 with support for BD-SDMAC

Display support

Please make sure your platform includes the latest U-Boot:

This version of U-Boot supports the display configuration, allowing you to use any of the following displays:

GPU acceleration

To test the GPU, you can use the example apps provided by Vivante:

root@:~# /opt/imx-gpu-sdk/GLES2/Blur/GLES2.Blur_Wayland -d


Camera input

Camera MIPI-CSI input can be checked using our OV5640 MIPI with GStreamer:

root@:~# gst-launch-1.0 v4l2src device=/dev/video0 ! \
    video/x-raw,width=1280,height=720 ! waylandsink


Basler camera input

This build fully supports the Basler daA3840 8MP camera from Basler when using our Nitrogen 8M Plus which is part of our Evaluation Kit:

The isp-vvcam driver and imx8-isp service are loaded automatically when the camera is detected. From there, a simple GStreamer pipeline will allow you to see the stream:

root@nitrogen8mp:~# gst-launch-1.0 -v v4l2src device=/dev/video0 ! waylandsink

Ethernet

Once the eth0 interface is up, you can use iperf3 to check Ethernet performance:

root@:~# iperf3 -c 192.168.1.60

Wi-Fi

To test Wi-Fi:

root@:~# nmcli d wifi connect  password 

Bluetooth

For products with a Silex bluetooth module, use the silex-uart script:

root@:~# /usr/share/silex-uart/silex-uart.sh start

VPU decoding

If your platform supports VPU decoding, test with the gplay tool:

root@:~# gst-launch-1.0 playbin uri=file:///home/root/Hobbit-1080p.mov

CAN

For platforms with CAN, you can bring up the interface with this command:

root@:~# ip link set can0 up type can bitrate 500000

NPU support

TensorFlowLite demo:

root@nitrogen8mp:~/ArmnnTests# /usr/bin/TfLiteInceptionV3Quantized-Armnn --data-dir=/home/root/ArmnnTests/data --model-dir=/home/root/ArmnnTests/models

If you have any issues, please email support@boundarydevices.com