Public | Automated Build

Last pushed: 21 hours ago
Short Description
Debian(jessie) with X.org display server, Xfce desktop and ALSA audio for netPI (Pi 3)
Full Description

netPI

Industrialized Raspberry Pi for Custom Automation Projects

For platform details read on here.

The image - Raspbian OS with X.org display server, desktop Xfce, ALSA audio, Bluetooth

Base of this image builds a tagged version of debian:jessie with installed display server X.org enabling the device's HDMI port plus the desktop environment Xfce turning the device in a desktop computer with mouse and keyboard controlled inputs. Additonally it embeds the ALSA Audio Sound package for sending the sound across HDMI.

Container prerequisites

Host devices

To grant access to netPI's host devices from inside the container expose:

  • for HDMI support the devices /dev/tty0,/dev/tty2,/dev/fb0
  • for mouse and keyboard support the device /dev/input
  • for sound over HDMI support the device /dev/snd
  • for bluetooth support the device /dev/ttyAMA0
Volume mapping

To redirect DBUS bluetooth commands called in the container to netPI's top-level DBUS server its volume /var/run/dbus needs to be mounted into the container.

Host network

The container needs the netPI "host" network stack to be shared with it to use bluetooth.

Getting started

On netPI

STEP 1. Open netPI's landing page under https://<netpi's ip address>.

STEP 2. Click the Docker tile to open the Portainer.io Docker management user interface.

STEP 3. Enter the following parameters under Containers > Add Container

  • Image: hilschernetpi/netpi-desktop-hdmi

  • Network > Network: Host

  • Restart policy" : always

  • Runtime > Devices > add device: Host "/dev/tty0" -> Container "/dev/tty0"andHost "/dev/tty2" -> Container "/dev/tty2"andHost "/dev/fb0" -> Container "/dev/fb0"andHost "/dev/input" -> Container "/dev/input"andHost "/dev/snd" -> Container "/dev/snd"andHost "/dev/ttyAMA0" -> Container "/dev/ttyAMA0"

  • Advanced container settings > Volumes > map additional volume: Container: /var/run/dbus, Bind -> Host: /var/run/dbus

STEP 4. Press the button Actions > Start container

Pulling the image from Docker Hub may take up to 5 minutes.

On Pi 3

STEP 1. Establish a console connection to Pi 3.

STEP 2. Install Docker if not already done, else skip.

STEP 3. Run a container instance of the image using the following command line

docker run --device="/dev/tty0" --device="/dev/tty2" --device="/dev/fb0" --device="/dev/input" --device="/dev/snd" --device="/dev/ttyAMA0" --net=host --restart=always -v /var/run/dbus:/var/run/dbus hilschernetpi/netpi-desktop-hdmi

Accessing

Make sure you have a mouse and keyboard connected before you start the container, else they will not be recognized. A HDMI monitor will only be recognized if it was already connected during device's boot sequence, else its screen remains black. For simple tests use Firefox (icewaesel) to do some web page visits.

In order to activate Bluetooth open a terminal console and call the following commands:

service dbus start
hciconfig hci0 up
bluetoothd -dn

After that you can start the Bluetooth Manager from the Applications Menu under Settings and initiate a scan for example.

GitHub sources

The image is built from the GitHub project netPI-desktop-hdmi. It complies with the Dockerfile method to build a Docker image automated.

To allow building ARM containers on x86 platforms under Dockerhub the Dockerfile uses the method described here resin.io.

References:

Hilscher Gesellschaft für Systemautomation mbH www.hilscher.com

Docker Pull Command
Owner
hilschernetpi
Source Repository

Comments (0)