PC Engines Home

Welcome to the HOW-TO pages of PC Engines

This webpage contains a collection of answers to frequently asked questions and problems people have.
Suggestions, corrections, additions, etc. may be sent to support1207[at]pcengines.ch
Please also see our forum for more information at pcengines.info/forums
alix Prepare a CF with this FreeDOS image and add the files found in the BIOS file alix v0.99m found here
Then boot the alix and execute sb.com
As an alternative there is also an Xmodem upload methode, for alix2 see alix2.upd and for alix3d2 see alix3.upd
If an alix board is bricked an
LPC1a adapter for the corresponding board is needed. Please leave a note when ordering which board it is needed for.

The alix3d3 and alix1d have an AwardBIOS, because TinyBIOS does not support VGA and AC97.
In case of the alix3d3, if the VGA port and AC97 are not used, the TinyBIOS of the alix3d2 can be used instead.

All BIOS versions with release notes for apu boards: https://pcengines.github.io/

apu boards We suggest using TinyCore which comes with the tool flashrom. Once an USB stick is prepared with TinyCore the BIOS file needs to be copied to the USB stick.

There are coreboot legacy versions and coreboot mainline versions for all boards

If an apu board is bricked an spi1a is needed, except apu1 boards need a lpc1aapu


building corebot for apu1 coreboot source: www.pcengines.ch/tmp/coreboot_140908.tar.gz
Voyage Linux image for apu with the complete toolchain to build the BIOS: www.pcengines.ch/tmp/apu_bios_builder.img.gz

SageBios_PCEngines_apu_sources_for_publishing_20140401_GPL_package.tar.gz
SageBios_PCEngines_apu_sources_for_publishing_20140405_GPL_package.tar.gz

building corebot for apu2 and apu3 For building apu2 coreboot please see: Building firmware using APU2 image builder
Please visit http://linux.voyage.hk/.
The root password of Voyage Linux is 'voyage'.

General informations How to prepare any storage device with Voyage Linux on any Linux machine based on the official Voyage tarball:
  • run some Linux, perhaps Voyage Linux on an alix board or any other PC
  • attach the target storage device
  • get the Voyage Linux tar.gz file, wget http://...
  • decompress the image with tar xfvj
  • cd into the new directory and execute ./usr/local/sbin/voyage.update and follow the steps

apu Instead of getting an USB-mSATA adapter for a single use, you can boot the apu from USB and write an image on the mSATA inserted in the apu board.
To install Voyage Linux on an mSATA module follow these steps:
  • prepare an USB stick with TinyCore USB installer v1.8
  • get the latest amd64.tar.bz2 file from http://www.voyage.hk/download/voyage/amd64/, and copy it to the TinyCore USB-Stick
  • boot TinyCore on the apu board
  • cp voyage-0.X_amd64.tar.bz2 /tmp/
  • cd /tmp/
  • mkdir /mnt/cf
  • tar xf voyage-0.X_amd64.tar.bz2
  • cd voyage-0.X_amd64
  • start the installation script with /tmp/voyage-0.X_amd64/usr/local/sbin/voyage.update


for autologin install mingetty and change /etc/inittab accordingly
#T0:23:respawn:/sbin/getty -L ttyS0 115200
T0:23:respawn:/sbin/mingetty --autologin root --noclear ttyS0

For a nice comparision of the speed of the Ethernet port under different OS types see: IPFire vs. pfSense

Many installation images do not redirect the console to the serial port.
The redirection is usually needed in two places.
  1. the bootloader: see syslinux.cfg
  2. the console prompt: /etc/inittab which might need something like this: ttyS0::respawn:/sbin/getty -nl /sbin/autologin 115200 ttyS0
Linux installation images usually have a compressed filesystem like initrd.gz which can be expanded. After changing some files, it can be compressed again.
These are the typical steps:
  1. decompress
    • gunzip initrd.gz (returns one file called 'initrd')
    • mkdir initrd_rootfs
    • sudo sh -c 'cd initrd_rootfs && cpio -i' < initrd
  2. change some files
  3. compress
    • sh -c 'cd cinitrd_rootfs && sudo find . | sudo cpio -H newc -o' | gzip -9 > initrd.gz

Important: the SD slot on the apu2 boards is directly connected to the CPU and needs the module SDHCI to work.
Do not use an SD to boot FreeBSD based OS like pfSense and OPNSense on apu2 boards. Only very recent kernel versions fully support booting via SDHCI.
Try an USB-SD adapter in case of related troubles. If it works with the USB-SD adapter, but not in the SD slot, then the SDHCI module is missing ...
This is a short and incomplete list of working 3G miniPCIe modems:

Manufacturer Series URL comment
Sierra Wireless MC8790 http://www.sierrawireless.com/...
Sierra Wireless MC730x http://www.sierrawireless.com/...
Sierra Wireless MC77xx http://www.sierrawireless.com/...
Ericsson f5521
Ericsson f5321gw
HUAWEI ME909u-521 http://consumer.huawei.com

Avoid Sierra Wireless modules ending with a "V" standing for voice, as they have a proprietary pinout.

Many usefull informations can also be found here:
TXLAB.

Hint: check for SIM card with:
AT+CMEE=2
AT+cpin?

The MAC address of the first NIC on all PC Engines boards is derived of its serial number, the following NICs have subsequent addresses.
This is the conversion from MAC ID to serial number and vice versa:

MAC ID = 00:0d:b9 (our OUI) : (serial + 64) * 4
serial = (MAC ID & 0x000000FFFFFF) / 4 - 64

MAC ID Serial converter
MAC ID
Serial number

What the all alix and apu boards have in common The LED's on the boards are connected as inputs, and should be removed if these signals are intended to be used GPIOs.
Otherwise the LEDs will die due to the appllied 3.3V.
The button S1 is also a regular GPIO connected to the CPU.

alix The LEDs are D4, D5, D6 plus the button S1, which all are also connected to J13.
For additional GPIOs an I2C IO-Expander from various chip manufacturer are available, like NXP or TI. There are also many inexpensive easy to use modules available at aliexpress.com.
Also see here and here.

What all apu boards have in common The apu boards have two types of GPIOs:

apu1 apu1-leds.tgz

apu2/apu3/apu4 https://github.com/pcengines/apu_gpio_lib
NCT5104 Datasheet v1.9

I2C This is what is needed under Voyage Linux to get I2C working:

root@voyage:~# apt-get install i2c-tools libi2c-dev
root@voyage:~# modprobe i2c-dev
root@voyage:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

This section provides information about add-on cards for apu boards.

known good
Function Manufacturer Card type Chipset Comment Source
Network LogiLink PCIe RTL8111
USB LogiLink PCIe μPD720202 datasheet
SATA IOcrest PCIe Marvell 88SE9215 gets rather hot Amazon aliexpress

known bad
Function Manufacturer Card type Chipset Comment Source
Network unknown half-sized miniPCIe RTL8111
SATA asmedia PCIe asm106x


alix Disk Images
winxpe_raw_files-tools-instructions.rar *
winxp16gb.img.gz *
winxp_4gb_image.rar *
voyage-0.9.2.img.zip

*Please make sure you have a valid license

Use this alix_FreeDOS_Installer_v1.3 to create FreeDOS bootable CF card.

apu Disk Images
CentOS7 disk image for all apu boards (Dec. 2018)
centosapu20140822.gz
OpenBSD_install55_Serial115200_amd64.img.tar.gz
apu_bios_builder.img.gz
debian-7.8-amd64-CD-1.iso



How to write compressed disk images to mSATA Prepare an USB stick with TinyCore, add the compressed image to the stick and boot the apu board with it.
Use the command "fdisk -l" to determine the device name of the target storage.
In the following commands it is presumed that /dev/sdX is the target device name (but sda or sdb is more likely):

zip unzip -p diskimage.img.zip | pv | dd of=/dev/sdX bs=1M
gz gzip -dc diskimage.img.gz | pv | dd of=/dev/sdX bs=1M
tar.gz tar xzOf diskimage.img.tar.gz | pv | dd of=/dev/sdb bs=1M
xz tar xvfJ diskimage.tar.xz | pv | dd of=/dev/sdb bs=1M
bz2 bzip2 -dc diskimage.img.bz2 | pv | dd of=/dev/sdb bs=1M

Note: "pv" is a pipe-viewer and displays the progress.


Links to installation instructions for apu
Install CentOS / RHEL v6.x
Install NethServer over CentOS

© 2002-2018 PC Engines GmbH. All rights reserved.