Pine64 Quick Start Guide (with Gotchas)

Pine64 desktop with WindyCityThings in the browser

The Pine64 is a single board computer with four 64-bit cores. The device runs Linux, and prices start at US$15.00. The company raised $1.7 million in their Jan 2016 Kickstarter campaign.

This post tells how to get a brand new Pine64 up and running using Mac OS X for image download and creation. Gotchas are included. Finally, we will compare the Pine64 with another multi-core single board computer, Parallella.

Gotcha: Arch Linux w/2GB PineA64

Problem: I chose to install Arch Linux Image with XFCE4 Base on Longsleep Image 20160304-1 because I have limited experience with Arch, and this was a chance to try something new. Later I learned that this distro contains a DMA data transfer bug that affects the 2GB PineA64. That’s my Pine! I will post an update after the bug has been resolved.

Pine64 Arch Linux DMA

Recommendation: Looks like there are two ways to avoid the DMA bug:

Pine64 single board computer

Download an Image File

Several Linux disk images are available for the Pine64. This list will probably grow over time.

The image will be archived in .rar format. RAR is used because it has a higher compression ratio than .zip, and .rar files can store full file permissions while compressed.

Apple’s Mac OS X does not include a utility for de-compressing .rar files. So you will need to grab one. I chose unrar via Homebrew. Here’s how.

Install unrar

Homebrew is an ideal way to install Unix utilities on Mac OS X. Once you have Homebrew on your Mac, install unrar like so:

~$ brew install unrar
==> Downloading
######################################################################## 100.0%
==> Pouring unrar-5.3.11.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/unrar/5.3.11: 5 files, 505.4K


Testing .rar Archive Health

To confirm that unrar is installed correctly and to test the health of your image file…

$ unrar t arch-pine64-bspkernel-20160304-1-xfce4.rar

UNRAR 5.31 freeware      Copyright (c) 1993-2016 Alexander Roshal

Testing archive arch-pine64-bspkernel-20160304-1-xfce4.rar

Testing     arch-pine64-bspkernel-20160304-1-xfce4.img                OK
Testing     Readme.txt                                                OK
All OK


The message All OK is our green light!

Extract the Image File

Use unrar to extract the image.

$ unrar e arch-pine64-bspkernel-20160304-1-xfce4.rar

UNRAR 5.31 freeware      Copyright (c) 1993-2016 Alexander Roshal

Extracting from arch-pine64-bspkernel-20160304-1-xfce4.rar

Extracting  arch-pine64-bspkernel-20160304-1-xfce4.img                OK
Extracting  Readme.txt                                                OK
All OK


Prepare the Micro SD Card

You’ll need a micro-SD card for the Pine64 operating system. Here are the steps needed to prepare the micro-SD from the command line.

First, grab the disk designation of the SD card.

$ diskutil list
   #:                    TYPE NAME              SIZE       IDENTIFIER
   0:   GUID_partition_scheme                  *960.2 GB   disk0
   1:                     EFI EFI               209.7 MB   disk0s1
   2:               Apple_HFS MacSSD            959.3 GB   disk0s2
   3:              Apple_Boot Recovery HD       650.0 MB   disk0s3
   #:                    TYPE NAME              SIZE       IDENTIFIER
   0:  FDisk_partition_scheme                  *15.9 GB    disk1
   1:              DOS_FAT_32 BOOT              134.2 MB   disk1s1
   2:                   Linux                   15.8 GB    disk1s2

Next, unmount the SD card.

$ diskutil unmountDisk /dev/disk1
Unmount of all volumes on disk1 was successful


Finally, write the extracted Linux image to the SD card.

$ sudo dd if=arch-pine64-bspkernel-20160304-1-xfce4.img of=/dev/disk1 bs=1m

The dd command takes a long time to run, over 29 minutes on my machine. Here’s a quick run-through of the command options:

Checking Progress While dd Burns the Image

The dd command does not give any outward sign that it is making progress. That can be a little uncomfortable because it takes a long time for the command to run. Here are two ways to check progress:

Once dd is Complete

When dd is done, it outputs the following:

$ sudo dd if=arch-pine64-bspkernel-20160304-1-xfce4.img of=/dev/disk1 bs=1m
load: 1.41  cmd: dd 5933 uninterruptible 0.00u 6.59s
731+0 records in
730+0 records out
765460480 bytes transferred in 302.578847 secs (2529788 bytes/sec)
3800+0 records in
3800+0 records out
3984588800 bytes transferred in 1540.553921 secs (2586465 bytes/sec)

From here, you can eject the SD card from your Mac and insert it the micro-SD card reader on the Pine64. Apply power to the Pine64 and… it boots!

Login Credentials

Default username/password combinations this Arch Linux image on Pine64:

One Pine64 Obstacle

As of this writing, Midori and Firefox are not stable on my Pine64. Earlier this morning I learned about a DMA-to-Gigabit-Ethernet bug that might be the root cause of the browser stability issue. I’ll post updates as I learn more.

Pine64 vs Parallella

It is natural to compare Pine64 with Parallella. Both are multi-core, single board computers running Linux. After owning the Pine64 for just a few days, here are my first impressions:

Bottom Line

The choice between Pine64 and Parallella depends on your design goals. For desktop usage, I would choose Pine64. For an embedded system that needs parallelism and perhaps an FPGA, I would go with Parallella.

Overall, I like the Pine64. I expect the browser (or DMA?) bug in the Arch Linux image to be resolved soon. It’s good to have a new quad-core 64-bit platform where parallelism can be explored.

WindyCityThings - IoT conference in Chicago, IL, USA. Windy City Things.

WindyCityThings: IoT in June 2016

Are you exploring the Internet of Things? Then you might like the WindyCityThings IoT conference. Get the maximum return for the time you invest. Move forward on your next IoT project with confidence. Tickets are on sale now.