A new Yocto 2.2 release, Morty, is now available for the i.MX series platform from NXP.
For the Impatient
- For Nitrogen6x platform(nitrogen6x, sabrelite, MAX, SOM2, SOM2_QP, nitrogen6_vm, nitrogen6QP_MAX):
- For Nitrogen6x-lite platform:
- For Nitrogen6_SoloX platform:
- For Nitrogen7 platform:
How to Burn
To burn the image file to a sdcard, run this command assuming your sdcard is mounted on /dev/sdc
~$ sudo umount /dev/sdc*
~$ zcat boundary-eval-image-nitrogen6x-morty.sdcard.gz | sudo dd of=/dev/sdc bs=1M
How to Replicate
This image uses a new "morty" boundary-bsp-platform that can be used to build images for our boards. Lots of this is identical to what was present in our previous images, although a lot has been improved. This is mostly a clone of fsl-community-bsp-platform with meta-browser, meta-qt5, and meta-boundary added in. There is also a Boundary-Devices-centric setup-environment script with a central download area and cache and some extras to the default local.conf.Firstly, you’ll need to create the download/cache folders and give r/w access.
~$ sudo mkdir -p /opt/freescale/yocto/imx
~$ sudo mkdir -p /opt/freescale/yocto/sstate-cache
~$ sudo chmod -R 777 /opt/freescale
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 ~/morty
~$ cd ~/morty
~/morty$ repo init -u https://github.com/boundarydevices/boundary-bsp-platform -b morty
~/morty$ repo sync
Now setup the environment for building. In this example I’m 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.There is a new DISTRO variable which controls what sort of image you're building. You can see all the fslc-DISTROs here. This variable controls what sort of graphics the image is based on. If the image is X11 based, then you'd select DISTRO=fslc-x11, for wayland you'd select fslc-wayland, xwayland fslc-xwayland and so on.Our boundary-eval-image is X11 based, so you'll need to select DISTRO=fslc-x11. Then choose whichever MACHINE is relevant for you.
~/morty$ MACHINE=nitrogen6x DISTRO=fslc-x11 . setup-environment boundary-eval-image
Now bitbake boundary-eval-image
~/morty/boundary-eval-image$ bitbake boundary-eval-image
Now after some time this should build the same image as above. The image file will deploy to ~/morty/boundary-eval-image/tmp/deploy/images/{MACHINE}/boundary-eval-image-{MACHINE}.sdcard.gz. Feel free to tweak and add things as you see fit.
Chromium
Chromium is working and very stable in this image (finally!). It's version is now 52.0.2743.76.
Firefox
Firefox is also available and stable. It's version is 45.5.1esr.
Video Input Tests
If you have our ov5640-mipi camera, ov5642 camera, or our HDMI input daughterboard the image includes easy desktop icons to launch tests for the respective hardware.Launching the respective video input test will show up on the screen and look like this:
Wifi
The builds include a wifi auto-start script which will connect to any open wireless network, or any secured network that you have configured. To add a wifi network with security, run this command and reboot and your board should automatically connect to the network.
root@nitrogen6x:~# wpa_passphrase <network> <passphrase> >> /etc/wpa_suplicant.conf
root@nitrogen6x:~# reboot
Bluetooth
For products with Bluetooth, you'll be able to connect using these commands:
root@nitrogen6x:~# echo 0 > /sys/class/rfkill/rfkill0/state
root@nitrogen6x:~# echo 1 > /sys/class/rfkill/rfkill0/state
root@nitrogen6x:~# hciattach -t 30 -s 115200 /dev/ttymxc2 texas 3000000 flow
Found a Texas Instruments' chip!
Firmware file : /lib/firmware/ti-connectivity/TIInit_7.6.15.bts
Loaded BTS script version 1
texas: changing baud rate to 3000000, flow control to 1
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol LL registered
Device setup complete
root@nitrogen6x:~# hciconfig hci0 up
root@nitrogen6x:~# hcitool scan
Scanning ...
11:22:DE:AD:BE:EF Some Device
Silex Module Support
If you have a silex wifi/bluetooth module on your board these images come with that supported. You can also build this module by adding kernel-module-silex and linux-firmware-silex to your image by adding this line to the end of your local.conf file: IMAGE_INSTALL_append += "kernel-module-silex linux-firmware-silex". This can also be uncommented on this line in the image recipe to add it.As you can see in the linux-firmware-silex recipe you'll need access to our git repository to pull and compile that code. Please fill out this form to get access to our private git repositories.You can also read our blog post about the Silex module.
XFCE Desktop Based Image
We also have an evaluation image with the XFCE desktop. This is the same desktop environment seen in our latest Debian image, so if you prefer that or just want to see something different you can try this image out.
- For Nitrogen6x platform(nitrogen6x, sabrelite, MAX, SOM2, SOM2_QP, nitrogen6_vm, nitrogen6QP_MAX):
- For Nitrogen6x-lite platform:
- For Nitrogen6_SoloX platform:
- For Nitrogen7 platform:
To build this image, instead of "bitbake boundary-eval-image" you should do "bitbake boundary-eval-image-xfce".