Single board computers with the most popular among them being Raspberry Pi are usually based on ARM processors. Only few single-boards computer have x86 family processors on board. The MinnowBoard project is among the second group with its second generation i.e. MinnowBoard Max based on 64bit Intel Atom processor. Since the ARM based systems bring the unfamiliar new architecture for most users, Minnowboard Max can be truly seen as a single-board "old-fashion PC".
The x86 architecture allows for installation of most of the available operating systems and more importantly installation of commercial software available only in binary form. Since the board works on x86 processor the list of supported operating systems include Linux, Windows and Android.
MinnowBoard Max comes in two versions which have different processor and the amount of memory. The first one based on Intel Atom E3815 (single core, 1.46 GHz) with 1GB of RAM and the second based on Intel Atom E3825 (dual core, 1.33 GHz) with 2GB of memory on board. The rest of the specification is the same for both boards and features Intel HD graphics, micro HDMI connection, Micro SD card reader, SATA connection, one USB 2.0 and one USB 3.0 connections, 1Gbps Ethernet card, GPIO pins. The board includes also number of expansion ports like SPI, I2C, PCIe and JTAG.
In the box
In the box you will find the single-board computer (with dimensions 99mm x 74mm) and a power supply. There are various ways to install the operating system and have a small desktop replacement. We will choose to install the SSD drive and have the Linux operating system boot from the drive. The UEFI allows you to boot from all interfaces including SATA, SD and USB.
Although the MinnowBoard Max comes with numerous interfaces you will most likely need some additional converters and wires to make configuration like our work.
The only video output in the MinnowBoard Max is the micro HDMI. To be able to use the connection you will need micro male to full female HDMI converter. HDMI also includes audio as the only output from the board (no mini jack for speakers or headphones is installed).
The board comes with two full size USB ports. One of them is dedicated as USB 2.0 and the other one as USB 3.0 (the blue one). To make the MinnowBoard Max fully usable computer you will need a keyboard, mouse and probably a USB WiFi card. Only 2 USB ports will not support the configuration and the USB hub is a requirement (either USB 2.0 or USB 3.0 will work fine).
MinnowBoard Max includes the SATA data connection but unfortunately there is not a traditional Molex power connection. Most of the SSD drives are shipped with the 4 pin Molex to SATA power converter. We will use that type of cable to power the drive directly from the MinnowBoard Max extension pins.
SSD drive operates on 5V power (check if the same is true for yours). The board includes 2 pins in positions 1 and 2 marked as Ground and 5V. We will only need two of the four Molex power cables. Black wire is for ground and the red one is for 5V. Remaining two can be removed. Use female pins and housing for the wires on the Molex connection side. Connect to the long string of pins close to the power input. Counting from the corner in the outer row, the 2 first pins are ground and 5V. Make sure you use the right pins.
Arch Linux installation
For the installation of Arch Linux we will use a bootable USB stick which is capable of booting both EFI and legacy BIOS systems. Since the MinnowBoard Max uses UEFI firmware we will take advantage of the first one.
Prepare a bootable USB stick with Arch Linux. The instruction for all common operating systems can be found on the Arch Linux project page here.
We will use an Ethernet connection to the Internet which will be discovered during the booting from the USB stick (our connection will support DHCP provisioning of IP numbers and network configuration).
Boot the MinnowBoard from the USB stick. Set the keyboard layout and font.
# loadkeys us # setfont lat9w-16
# nano /etc/locale.gen
# locale-gen # export LANG=en_US.UTF-8
Check the connection to the Internet
# ping -c 3 www.google.com
# cfdisk /dev/sda
Create partitions for
swap. After leaving the
cfdisk your new devices
are present. This will create
/dev/sda3 in order which you picked.
# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2 # mkswap /dev/sda3 # swapon /dev/sda3
Confirm that you created partition scheme correctly
# lsblk -f
Installing the system
Mount the partitions that you have created
# mount /dev/sda2 /mnt # mkdir /mnt/boot # mount /dev/sda1 /mnt/boot
We are ready to install Arch Linux or our MinnowBoard Max. To do so we need to pick the closest mirror. Edit
# nano /etc/pacman.d/mirrorlist
and move mirror in a location closest to you to the top of the list. After that you are ready to install the basic system with the command
# pacstrap -i /mnt base base-devel
Now we will generate the new
/etc/fstab file which will contain information about all filesystems (partitions) that we have created earlier
# genfstab -U -p /mnt >> /mnt/etc/fstab # nano /mnt/etc/fstab
Verify that the
/etc/fstab file includes all partitions that you created. We are ready to switch the environment from the one provided by bootable USB stick to the one that we have just installed
# arch-chroot /mnt /bin/bash
Repeat the configuration of locales, fonts and language settings. Edit the
# nano /etc/locale.gen
and uncomment the line
en_US.UTF-8 UTF-8. After that generate local settings with the following command
# locale-gen # echo LANG=en_US.UTF-8 > /etc/locale.conf
# nano /etc/vconsole.conf
and add lines
Set the timezone. The list of all available time zones may be found in the directory
# ls /usr/share/zoneinfo/
Pick the appropriate time zone and make a link to set it
# ln -s /usr/share/zoneinfo/US/Eastern /etc/localtime
Set a hostname. In our case 'babylon'
# echo babylon > /etc/hostname
Set the network
# dmesg | grep eth # systemctl enable firstname.lastname@example.org # ping -c 3 www.google.com
Make the initial ramdisk environment and set the password for the
# mkinitcpio -p linux # passwd
The installation of the minimal version of Arch Linux is complete. Now we nee to install the bootloader.
You have two choices of the bootloader. You may pick GRUB or Syslinux. We will use the Syslinux bootloader since it works just fine and is extremely easy in configuration. To install it follow the commands
# pacman -S gptfdisk # pacman -S syslinux # syslinux-install_update -iam
We need to configure the bootloader. Open file
# nano /boot/EFI/syslinux/syslinux.cfg
and make sure that the entry for booting Arch Linux looks like this
LABEL arch MENU LABEL Arch Linux LINUX ../../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../../initramfs-linux.img
The Syslinux should work just fine now. We are left with few last things.
Several extra touches
Add a regular user account
# useradd martin # passwd martin # mkdir /home/martin # chown -R martin: /home/martin
sudocommand by editing the file
wheelgroup as the group that can execute command using
sudowithout giving a password.
# vim /etc/sudoers
and uncomment line
%wheel ALL=(ALL) NOPASSWD: ALL
# vim /etc/group
Log out from the
rootaccount and log in as the user that you have just created.
Install video driver and desktop environment
$ sudo pacman -S xf86-video-intel $ sudo pacman -S mate-desktop
Make the MATE desktop the default one
$ echo "exec mate-session" > ~/.xinitrc $ startx
Install extra packages
$ sudo pacman -S htop $ sudo pacman -S chromium $ sudo pacman -S mate-themes-extras $ sudo pacman -S rxvt-unicode $ sudo pacman -S gvim
We are done with the installation. You have complete and usable Linux desktop environment.
With the lack of case that would support installation of SSD drive we have designed our own laser-cut case. Our case has three components. MinnowBoard Max and SSD drive are mounted on the opposite sides of the middle panel. The whole setup is enclosed from the top and the bottom by two panels.
If you are looking for a low power development board that is based on Intel processor instead of ARM processor the MinnowBoard Max is worth consideration. It is easy in configuration and fast enough to serve as a low-power desktop replacement. MinnowBoard Max comes with wide variety of interfaces installed on board. It is flexible with storage options and ships with USB 3.0 port as well as 1Gbps network interface.