Headless access on Pine64

Quickly setting up headless access on linux SBCs like the pine64

This is a quick guide to enabling headless VNC access on the pine64 using USB serial.

Things you’ll need:

  • Pine64
  • A USB to serial convertor
  • Ethernet cable

Connections

Connect pin 9 on the EXP connector on the pine64 to GND of your USB serial or arduino. Connect EXP 8 to TXD of the USB serial or digital pin 0 of the arduino. Connect EXP 7 to RXD of USB serial or digital pin 1 of the arduino. If you’re using an arduino, connect a jumper across the RESET and GND pins. Connect the USB serial or the arduino to a computer.

Using screen to get a shell

Open a terminal and run ls /dev/tty*. You should get something like:

/dev/tty    /dev/tty19  /dev/tty3   /dev/tty40  /dev/tty51  /dev/tty62
/dev/tty0   /dev/tty2   /dev/tty30  /dev/tty41  /dev/tty52  /dev/tty63
/dev/tty1   /dev/tty20  /dev/tty31  /dev/tty42  /dev/tty53  /dev/tty7
/dev/tty10  /dev/tty21  /dev/tty32  /dev/tty43  /dev/tty54  /dev/tty8
/dev/tty11  /dev/tty22  /dev/tty33  /dev/tty44  /dev/tty55  /dev/tty9
/dev/tty12  /dev/tty23  /dev/tty34  /dev/tty45  /dev/tty56  /dev/ttyS0
/dev/tty13  /dev/tty24  /dev/tty35  /dev/tty46  /dev/tty57  /dev/ttyS1
/dev/tty14  /dev/tty25  /dev/tty36  /dev/tty47  /dev/tty58  /dev/ttyS2
/dev/tty15  /dev/tty26  /dev/tty37  /dev/tty48  /dev/tty59  /dev/ttyS3
/dev/tty16  /dev/tty27  /dev/tty38  /dev/tty49  /dev/tty6   /dev/ttyUSB0
/dev/tty17  /dev/tty28  /dev/tty39  /dev/tty5   /dev/tty60  /dev/ttyACM0
/dev/tty18  /dev/tty29  /dev/tty4   /dev/tty50  /dev/tty61

In my case, the arduino is ttyACM0 and the USB serial is ttyUSB0. Your numbers might be different, so take note of it. Now run sudo screen /dev/(your serial device) 115200

Enabling autologin and installing x11vnc

Now power on your pine and wait for the username prompt to appear and log in. Once inside, run sudo nano /etc/lightdm/lightdm.conf. Add the following content :

[SeatDefaults]
autologin-user=(YOUR USER)
autologin-user-timeout=0
user-session=ubuntu
greeter-session=unity-greeter

where (YOUR USER) is the default username. Next, run sudo apt-get update;sudo apt-get install -y x11vnc

Connecting to the pine through VNC

Connect your Pine to the PC through ethernet. In the network settings of your PC, change your ethernet’s method under IPv4 to “Shared to other computers”. In the serial terminal, run sudo ifconfig eth0 10.42.0.2. Now use a VNC client to connect to 10.42.0.2:5900. On the pine, open the network config menu and set it to DHCP. Now reboot the pine and connect it to your LAN. You can now SSH to the pine and run x11vnc to start the VNC server at any time.

2021

Back to Top ↑

2020

My worst one-liner yet

5 minute read

I have a habit of writing excessively long bash one-liners well beyond the threshold of it making more sense to write a script. Chaining commands and transfo...

Back to Top ↑

2019

Back to Top ↑

2018

Home setup part 3: IWS

5 minute read

I have a strange list of requirements, and a limited amount of hardware to satisfy them with. I needed: a Windows desktop for windows only software and ga...

Home setup part 2: The Matrix

3 minute read

A couple of weeks after moving into my apartment, I got a 100Mbps connection from Dsouza cable network, some local ISP that I had never heard of before. At f...

Home setup part 1: The Oasis

3 minute read

For the lat couple of months, I’ve been spending my weekends setting up my home PC, network and other infrastructure. Over this series of blog posts, I will ...

Back to Top ↑

2017

Back to Top ↑

2016

Headless access on Pine64

1 minute read

Quickly setting up headless access on linux SBCs like the pine64 This is a quick guide to enabling headless VNC access on the pine64 using USB serial.

My github blag

less than 1 minute read

My Github Blag I’ll mostly be posting how-tos on things that took me a long time to figure out, in case I need to do them again

Back to Top ↑