Debian 8.3 Jessie for i.MX6 boards - February 2016 (kernel 3.14.28)

Published on February 10, 2016

Archived Notice

This article has been archived and may contain broken links, photos and out-of-date information. If you have any questions, please Contact Us.

Debian Jessie 8.3 - XFCE4 desktop Debian Jessie 8.3 - with XFCE4 desktop


It's been a while since our last Debian Jessie release, so it's time for an updated image for our i.MX6 boards with some nice new features.

So, without further ado, here are a couple of images of Debian Jessie:

Programming the image

The images are slightly-less-than-4GiB image files containing the partition table, so you can copy it to an SD card or SATA drive on /dev/sdc using zcat and dd like so:

~/Downloads$ sudo umount /dev/sdc* ~/Downloads$ zcat 201602*jessie*.img.gz | sudo dd of=/dev/sdc bs=1M ~/Downloads$ sync

Or you can use Alex Page's USB Image Tool under Windows.

Important !

Before installing this image please check your U-Boot version. The 3.14.28 kernel requires U-Boot version 2015.07 or higher. With this U-Boot you can use the new USB Mass Storage Gadget to program the eMMC.

Note that the links above require acceptance of a EULA because they do include support for acceleration of the GPU and VPU (the Freescale proprietary content).

What's supported

Since the images above include our stable 3.14.28 kernel, essentially everything is supported including GPU and VPU accelerations, Wi-Fi and Bluetooth, all of our storage devices (SD card, eMMC, SATA, USB sticks) and all of our supported touch panels.

The kernel packaging is also done in the normal Debian way, so apt-get update/dist-upgrade will keep your image up and running the latest as patches come out.

What's new in this release (compared to our previous Jessie release)

      • The Linux kernel was upgraded to 3.14.28 ( meta-package name: linux-boundary-9j6 )
      • Jessie is not "testing" anymore but "stable"
      • GPU driver was added , Vivante 5.0.11p4.5 ( meta-package name: imx-gpu-viv-9j6- )
        • OpenGL ES v3.0 support was added
        • Khronos GLES 3.0 API
        • The 5.x driver is compatible with the 4.x driver. Applications developed using 4.x drivers can run on the 5.x driver without any changes.
        • Application's performance on the 5.x driver will be better than or equal to that with the 4.x driver
        • Apitrace X11 tools added to trace OpenGL, OpenGL ES, Direct3D and DirectDraw API's
      • VPU driver was added, 3.14.28 and multimedia libraries to 4.0.3 ( meta-package name: imx-vpu-cnm-9j )
        • Added Real Networks parser and codec
      • Qt5 support added for X11, Wayland, and Framebuffer backends
      • Added gstreamer 1.0 support with gst1.0-fsl-plugins (VPU accelerated)
      • Added gstreamer-imx_0.12.0 package for gstreamer 1.0
      • Added support for Toshiba TC358743XBG HDMI to MIPI converter
      • Added support for TS quadrant-calibration
      • Many-many bugfixes, and refinements... no place here to list all of them.

The gstreamer-imx package (0.12.0)


This new package gives you many new options to create your gstreamer1.0 pipeline, with bunch of new plugins :

      • elements of imxaudio  : imxuniaudiodec, imxmp3audioenc
      • element of imxv4l2video : imxv4l2videosrc
      • elements of imxvpu : imxvpudec, imxvpuenc_mjpeg; imxvpuenc_mpeg4; imxvpuenc_h264; imxvpuenc_h263
      • elements of imxg2d : imxg2dvideosink, imxg2dvideotransform, imxg2dcompositor
      • elements of imxpxp : imxpxpvideosink, imxpxpvideotransform
      • element of imxeglvivsink : imxeglvivsink
      • elements of imxipu : imxipuvideosink, imxipuvideotransform, imxipucompositor

Please check these links for further information about gstreamer-imx plugins package :

An example of using imxeglvivsink :

Debian Jessie 8.3 - eglvivsink window Debian Jessie 8.3 - eglvivsink window

Usernames and passwords

Two users are defined for use on the system: debian and root. The password for each is Boundary (with a Capital B).

An ssh server is configured on the system, though it does not allow password-based authentication for user root.

User debian has sudo privileges, so you can place your ssh public key (normally $HOME/.ssh/ to the system like so:

debian@nitrogen:~$ sudo mkdir /root/.ssh [sudo] password for debian: debian@nitrogen:~$ sudo nano /root/.ssh/authorized_keys ... paste content of $HOME/.ssh/ here debian@nitrogen:~$ sudo chmod 600 /root/.ssh/auth* debian@nitrogen:~$ sudo chmod 600 /root/.ssh/

Bluetooth settings on XFCE (only Nitrogen6_Max and Nitrogen6x boards)


In the notification area (top-right corner) you can see the Bluetooth applet icon :

Debian Jessie - Bluetooth applet Debian Jessie - Bluetooth applet

Push it, then select [Devices...] button.

Debian Jessie - Bluetooth Manager Debian Jessie - Bluetooth Manager

The Bluetooth Manager's Devices window pops up. Push the [Search] button, and you'll see the available devices.

If you select a device from the list, you can connect and pair with them.

Bluetooth settings on console (only Nitrogen6_Max and Nitrogen6x boards)


Handling bluetooth is easier on a headless Debian system than on Ubuntu, since Debian uses the newest 5.23 bluez package, while Ubuntu uses 4.101 .

Debian has a great cmd-line utility for bluetooth, named bluetoothctl with many more options than hci-tools. For example pairing a device from the shell. You have to run it as root :

debian@jessie-dev:~$ sudo bluetoothctl [NEW] Controller 84:DD:20:DA:B1:8F jessie-dev [default] [bluetooth]# help Available commands: list List available controllers show [ctrl] Controller information select Select default controller devices List available devices paired-devices List paired devices power Set controller power pairable Set controller pairable mode discoverable Set controller discoverable mode agent Enable/disable agent with given capability default-agent Set agent as the default one scan Scan for devices info Device information pair Pair with device trust Trust device untrust Untrust device block Block device unblock Unblock device remove Remove device connect Connect device disconnect Disconnect device version Display version quit Quit program [bluetooth]# scan on Discovery started [CHG] Controller 84:DD:20:DA:B1:8F Discovering: yes [NEW] Device 0C:1D:AF:A2:E3:78 Redmi [bluetooth]# info 0C:1D:AF:A2:E3:78 Device 0C:1D:AF:A2:E3:78 Name: Redmi Alias: Redmi Class: 0x5a020c Icon: phone Paired: no Trusted: no Blocked: no Connected: no LegacyPairing: no UUID: OBEX Object Push (00001105-0000-1000-8000-00805f9b34fb) UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb) UUID: PANU (00001115-0000-1000-8000-00805f9b34fb) UUID: NAP (00001116-0000-1000-8000-00805f9b34fb) UUID: Handsfree Audio Gateway (0000111f-0000-1000-8000-00805f9b34fb) UUID: Phonebook Access Server (0000112f-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) [bluetooth]# quit [DEL] Controller 84:DD:20:DA:B1:8F jessie-dev [default] debian@jessie-dev:~$

Connecting to Wi-Fi Network (only Nitrogen6_Max and Nitrogen6x boards)

In the notification area (top-right corner) you can see the Network Manager applet icon (rightmost icon, it looks like a white Magnum icecream), please push it :

Debian Jessie - Network Manager applet Debian Jessie - Network Manager applet

Select your network from the list of available Wi-Fi networks. An authentication window will pop up, asking for the password :

Debian Jessie - Wi-Fi authentication Debian Jessie - Wi-Fi authentication

Type your password, and Wi-Fi is configured, that was all ! Simple, isn't it ?

Other notes

We added the same indicator applets to the XFCE desktop's bottom panel, as before : a network applet is showing download and upload speeds of the eth0 interface, and a CPU graph indicator showing the utilization of cores in percent , and the running CPU governor type, and current frequency:

Debian Jessie - Network and CPU indicators Debian Jessie - Network and CPU indicators

You can't set the CPU governor here, this is only an information about the available and current settings.

We added a vertical launch-bar to the right side of the desktop , you can start some demos here to check your system's VPU and GPU acceleration. The upper camera preview works with /dev/video0 OmniVision OV564x device, if connected. For more information please check these directories for the running demo scripts :

/home/debian  and /home/debian/movie-tests

GPU development libraries

The package imx-gpu-viv-9j6-dev ( development headers and libraries for OpenGL / ESv2 / ESv3 / Khronos ) is installed by default now. You have to set the headers path, before any other headers, or you might include the mesa headers first, and you don't want to do that. For example :

export CFLAGS="-I/usr/include/vivante ${CFLAGS}"

If you would like to develop with the original mesa libraries, you have to uninstall the imx-gpu-viv-9j6-dev package, at least temporarily

ubuntu@nitrogen:~$ sudo apt-get purge imx-gpu-viv-9j6-dev



As always, let us know how it goes when you try these images out.