In 2014 I watched new single-board-computers enter the market. I am very fond of the Raspberry Pi project and I am using RPi for quite some time now as you can see from my previous posts on my website. Now I am curious about the differences. I am currently looking for a base station for my home automation project. I wouldn't call this a server since this term is in most cases used for different hardware. In this context reliability, cost of operation running 24/7, ease of use are the most important factors for me. I am going to write a series of blog posts on benchmarks of the different models in this context.


The BeagleBone Black is a $45 ARM Cortex-A8 community-supported development platform. With 4GB of eMMC flash on-board, processor speed increase to 1GHz, and improved power consumption in comparison to earlier beaglebone boards - the BBB has much to offer. BBB has 512MB DDR3 ram. Unboxing the board and the enclosure both make a perfected impression on me. Assembly of the enclosure is very easy since the board is mounted using 4 little screws. The rock solid enclosure has openings that allow access to buttons and GPIO pins.


During the last two weeks I got convinced by the excellent quality of the BBB board and enclosure. I am particularity fond of the Beaglebone since it is open hardware (in the sense of open source hardware!).


After an initial little hiccup during installation of Debian Linux I decided to use Archlinux from now on.


I followed this perfect set of instructions for installation:


These instructions are organized into two sections:

  • creating a micro sd card and booting the BBB from it
  • installing Archlinux onto eMMC


After that you have to sync and update:

$ pacman -Syyu
$ pacman-db-upgrade


An optional step is to configure a suitable hostname for your new BBB based docker machine. I choose "kujira02" for that.

$ hostnamectl set-hostname kujira02


And now the installation of the docker package itself:

$ pacman -S docker systemd


Enable docker to run as a service:

$ systemctl enable docker.service


Done! Now we will reboot the BBB and check if everything worked as expected:

$ shutdown -r now


Check that the docker service is running:

$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
      inet  netmask  broadcast
      inet6 fe80::5484:7aff:fefe:9799  prefixlen 64  scopeid 0x20<link>
      ether 56:84:7a:fe:97:99  txqueuelen 0  (Ethernet)
      RX packets 282177  bytes 14504931 (13.8 MiB)
      RX errors 0  dropped 0  overruns 0  frame 0
      TX packets 637920  bytes 931009075 (887.8 MiB)
      TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


I am now able to use arm specific docker containers (as a convention they are usually prefixed with "armhf-"). In this example I start my "armhf-bench" container from docker hub and use it.

$ docker run -t -i finklabs/armhf-bench
216.119 MiB/s


That's it. Here my benchmark results for the Beaglebone Black:

BoardBeaglebone Black
CPU (lower is better)105.2 sec
FileIO3.17 MB/sec
Memory216.1 MiB/sec
Wattage 2.12 Watt

If you are interested in this work let me know.


Parts used:



Have fun!