Warrior Yocto Release

Published on November 1, 2019

A new Yocto 2.7 release, Warrior, is now available for the i.MX series platform from NXP. We apologize for the delay.

For the Impatient

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

How to Burn

The image is a SD card image that can be restored using zcat and dd under Linux.

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

In addition, you can use the etcher utility to flash the SD Card or USB stick via Windows or Linux: balena-etcher

Build Procedure

To build the image, you’ll need these packages installed as well as this repo tool that can be installed like this:

~$ sudo apt-get install repo

Now create your build directory and initialize everything.

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

Now setup the environment for building. In this example we're targeting the nitrogen6x, however nitrogen6x-lite, nitrogen6sx, and nitrogen7 are all also valid MACHINE targets here. Use whatever your platform is. Take a look through those MACHINE configuration files linked, you'll notice the nitrogen6x MACHINE configuration covers many different boards. The other three configurations cover only one board. We are building the boundary-wayland DISTRO

~/warrior$ MACHINE=nitrogen6x DISTRO=boundary-wayland . setup-environment build

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

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

After some time this should build the same image as above. The image file will deploy to tmp/deploy/images/{MACHINE}/boundary-image-multimedia-full-{MACHINE}.wic.gz. The next sub-sections will describe how to test most features.

Ethernet

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

root@nitrogen8mm:~# iperf3 -c 192.168.1.60                                                                                                                         
Connecting to host 192.168.1.60, port 5201
[  5] local 192.168.1.13 port 32880 connected to 192.168.1.60 port 5201
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec    0             sender
[  5]   0.00-10.04  sec  1.09 GBytes   932 Mbits/sec                  receiver

Wi-Fi

Same goes for the Wi-Fi that can be tested just as easily:

root@nitrogen8mm:~# nmcli d wifi connect  password 
root@nitrogen8mm:~# iw wlan0 link
Connected to a4:3e:51:08:54:f6 (on wlan0)
        SSID: Jabu_5GHz
        freq: 5240
        RX: 3243 bytes (31 packets)
        TX: 9117 bytes (48 packets)
        signal: -79 dBm
        tx bitrate: 15.0 MBit/s MCS 0 40MHz short GI
root@nitrogen8mm:~# ping google.com -Iwlan0                                                                                                                       
PING google.com (216.58.198.206): 56 data bytes
64 bytes from 216.58.198.206: seq=0 ttl=55 time=3.470 ms
...

Bluetooth

For products with Bluetooth, you'll be able to connect using these commands:

root@nitrogen8mm:~# hciconfig hci0 up
root@nitrogen8mm:~# hcitool scan
Scanning ...
11:22:DE:AD:BE:EF    Some Device

CAN

For products with CAN, you'll be able to bring up the interface using these commands:
root@nitrogen8mm:~# ip link set can0 up type can bitrate 500000
root@nitrogen8mm:~# ifconfig can0 up

From this point, you can use commands such as candsend and candump to send or display messages on the bus.   As usual, feel free to leave a comment below to share your experience.