Headless mode with WiFi, VNC server and XFCE desktop

Since I was asked multiple times about using Dragonboard in headless mode I created this how-to. It was tested with DB410C but it may well work with other boards using a Debian distro.
So the required steps:

  • download SD-Card image from here:
    https://www.96boards.org/documentation/consumer/dragonboard410c/downloads/debian.md.html
    Follow “Option 2” – “Install and boot from SD Card”
    This how-to was tested with dragonboard-410c-sdcard-developer-buster-359

  • write image to a uSD card either with “dd” command (Linux) or “Win32 Disk Imager” (Windows)

  • connect HDMI and keyboard to the Dragonboard, insert uSD card, power on the board

  • at the console login with user:linaro, password:linaro

  • configure WiFi with the following commands
    $ nmcli device wifi rescan
    $ nmcli device wifi list
    (this will show names of WiFi networks)
    $ nmcli device wifi connect < SSID > password < network password >
    (“password” is an option and must be typed as it is here)

  • verify ip address with:
    $ ip a

From now on we have SSH so let’s ssh in because one will have copy-paste there.

  • On the PC execute:
    $ ssh linaro@< IP address of Dragonboard >
    Password is “linaro” as before.

  • let’s install some packages:
    $ sudo apt-get update
    $ sudo apt-get install vnc4server xterm

  • create ~/.vnc/xstartup
    (enter the content below after the “cat” command and press Ctrl-D after the last line):
    $ mkdir .vnc
    $ cat > ~/.vnc/xstartup
    #!/bin/sh
    xterm &

  • start VNC server:
    $ vncserver -localhost no -geometry 1024x768

  • enter a password when VNC server starts the 1st time

  • Dragonboard will display something like this:
    “… New ‘linaro-developer:1 (linaro)’ desktop at :1 on machine linaro-developer …”

  • on the PC connect to the VNC server:
    $ vncviewer < IP address of Dragonboard >:1

If everything went well a plain xterm window will be displayed.
If you wish to start VNC server on a different X11 display then simply give the number of the display when starting vncserver. See “vncserver --help” for the syntax.

For a simple XFCE desktop we will need to install some additional packages:

  • $ vncserver -kill :1
    $ sudo apt-get install xfce4 iceweasel
    (this will take a couple of minutes)

At this point reboot is recommended but our new XFCE desktop will start without a reboot nicely.

  • overwrite ~/.vnc/xstartup
    $ cat > ~/.vnc/xstartup
    #!/bin/sh
    startxfce4
    vncserver -kill :1

  • start new VNC server with XFCE desktop:
    $ vncserver -localhost no -geometry 1024x768

  • on the PC connect to the VNC server:
    $ vncviewer <ip_of_dragonboard>:1

Et voilá!

I also wrote a “Headless Mode” guide for the 410c, it is here: https://developer.qualcomm.com/MLH just download the Quick Start Guide, it assumes you have a Sensors Mezzanine Board and two USB cables, but no monitor. Enjoy

-Lawrence-