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 :https://community.freescale.com/thread/376271https://github.com/Freescale/gstreamer-imx/blob/master/README.mdAn 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/id_rsa.pub) 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/id_rsa.pub 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.