Debian Jessie images for i.MX6 boards
Published on March 3, 2015
Debian Jessie - with XFCE4 desktop
When we put together our post on use of the Debian installer, we intended it as a learning exercise as much as anything. We described the steps needed to create and compile a kernel and use a couple of variations of boot script to use standard Debian tools to craft an image.
Based on your feedback, that's not what many of you were after. Instead, you just wanted an image to run, and wanted us to support the kernel.
We hear you.
Since that time, we've gained the expertise to properly bundle kernels and in the case of Ubuntu, to package the GPU and VPU acceleration bits into easy-to-use images.
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 201503*jessie*.img.gz | sudo dd of=/dev/sdc bs=1M
~/Downloads$ sync
Or you can use Alex Page's USB Image Tool under Windows.
If you're using our latest U-Boot and a Nitrogen6 Max board, you can use the new USB Mass Storage Gadget to program the eMMC. If not, there were some notes in our first release that describe a more complicated way of programming eMMC.
Note that the links above don't require acceptance of a EULA because they don't include support for acceleration of either the GPU or VPU (the Freescale proprietary content).
We do plan to add that support, but not in the context of the current 3.10.17 kernel.
What's supported
Since the images above include our stable 3.10.17 kernel, essentially everything but the GPU and VPU are supported, including 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.
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
Push it, then select [Devices...] button.
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
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
Type your password, and Wi-Fi is configured, that was all ! Simple, isn't it ?
Other notes
The Debian project is more conservative but more stable than Ubuntu, and Jessie (8.0) is the next release, and still in the testing phase. In these images gcc 4.9 compiler was installed. It has coloured output now : errors, warnings , messages, info have different colours in the console window. We installed some useful indicator applets on the XFCE desktop's bottom panel, a network applet is showing download and upload speeds of the ethernet interface, and a CPU graph indicator showing the utilization of cores in percent :
Debian Jessie - Network and CPU indicators
As always, let us know how it goes when you try these images out.
Debian is a well proven O/S distribution and we're happy to make it easier for you to use.