This Tuesday, I’m on a panel with John Hawley, the community manager of the MinnowBoard Max, where we’ll be discussing the future of open source hardware. Spoilers, I think the future looks good. With the panel upcoming, I decided to dust off my MinnowBoard Max (MBM) for a little project–I wanted to run Tails on the device.

What is a Minnow Board Max?

MinnowBoard Max v2.
MinnowBoard Max v2.

The MinnowBoard Max is a low-power development board, like the Raspberry Pi in that the Raspberry Pi is also a development board. The dual-core board is about $129 and available from several distributors. The MBM however, is based on Intel’s Atom E38xx System-on-a-Chip and comes in a dual-core or single-core option. I have the dual core MBM which supports:

  • The MBM is open-source hardware, like the BeagleBone
  • Power from 5V wall-wart
  • The E3825 dual-core 1.33 GHz process
  • 2GB of DDR3 RAM
  • Mini-HDMI out at 1920×1080
  • 1 USB 3.0 and 1 USB 2.0, both hosts
  • Gigabit Ethernet
  • Bunches of GPIO and other pins, for more details see here.

The key features here is that the MBM is 64Bit, runs the UEFI bootloader, and is an Intel architecture. Which means, it will boot Tails.

What is Tails?

Tails is a live operating system which boots from removable media. It’s designed to protect your privacy online from the ground-up. All communication is routed through Tor, the USB is encrypted, and various crypto tools are installed by default like OTR and GPG.

The Tails website explains Tails the best.

Why run Tails from the MBM?

Fair question. It’s much easier to run Tails from a dedicated pc, but I like low-power stuff. Tails doesn’t work with ARM so you can’t run it from BeagleBones, RPIs, etc… The MinnowBoard Max is an Intel CPU so it supports the Intel architecture that is more popular while being a low-powered board.

How do I boot Tails from my MBM?

Here’s what I did:

My Dual Core MBM. I have connected: a powered USB hub which has my keyboard/mouse/thumb drive, a FTDI serial cable, 5V power, and a mini-HDMI cable.
My Dual Core MBM. I have connected: a powered USB hub which has my keyboard/mouse/thumb drive, a FTDI serial cable, 5V power, and a mini-HDMI cable.

Part 1: Upgrade the MBM UEFI firmware

You may already have the latest 64bit UEFI firmware installed, if so, you can skip this part.

  1. You need the 64 bit UEFI firmware on your MBM. You can download it from here. All you need to do is extract and copy the files to a USB drive. Be sure to follow the latest release notes. You need to check if you are running the 64bit UEFI or not. If you are running the 32bit UEFI, you can upgrade to 64BIT, but you need to run the 32bit tool. i.e. you need to match your shoe color to your belt.
  2. In order to run the tool, you’ll need to connect to the board over serial with a FTDI-like cable or connect mini-HMDI and use a keyboard/mouse. I use this FTDI cable and use screen to connect to the MBM. Follow all of the intel instructions to update your firmware.

Part 2: Create a Tails Live USB

Now you need to create a Tails bootable USB. You can follow the instructions here. There is a bit of a chicken-and-the-egg though, because the recommend way to make a Tails USB is from a Tails running instance. Which, you can do if you first download a Tails DVD, boot that, and then follow instructions for making a USB.

I… didn’t want to do that, so I created my own USB. However, it was probably easier to use the DVD method as there are some funky windows tools needed (I couldn’t get it working under Linux). So, it’s probably best to follow the recommend way. Otherwise, here’s how to make a Tails USB without Tails:

  1. Download the Tails ISO (on the main page).
  2. Follow these instructions to download the windows USB creator tool. Be sure to pick GPT partition scheme for UEFI computer in the options.
  3. You’ll need to run your mouse/keyboard from a powered USB hub. When I had my USB thumbstick plugged in and then plugged in my keyboard, the MBM crashed.
  4. Boot the MBM with the USB attached. You’ll get to the UEFI shell. type:
    fs0
    cd efi
    cd boot
    bootx64.efi
  5. Tails will boot and if you have your HDMI monitor attached, you can use tails from the MBM!
Tails running from a USB stick on the MBM.
Tails running from a USB stick on the MBM.

#Part 3: Going Further

I’ve done only some basic things like fire up Tor and browser the web. I’m not sure why I need a USB hub exactly, as that’s a bit inconvenient. It’s also a bit slow on the USB stick, but the MBM can boot an external SATA drive… which would need external power.

If you happen to be going to IoT World this week, drop a line, I’ll be there!

Happy Hacking!

Advertisements