The ESPRESSObin is a low cost high performance single board computer aimed at the networking, storage, and connectivity space. It utilizes the Marvell Armada 3720, a dual core 1.0GHz ARMv8 Cortex-A53 SoC.


  • Marvell 88E6341 networking switch
  • Micro SD slot
  • 512MB, 1GB, or 2GB DDR3 RAM
  • 1x USB 3.0
  • 1x USB 2.0
  • 1x Mini-PCIe slot
  • 1x SATA
  • 2 46-pin headers for additional connectivity
ARMv8 Cortex-A53
Marvell Armada 3700 1.0GHz
Micro SD

Install to a micro SD card

Replace sdX in the following instructions with the device name for the SD card as it appears on your computer.

  1. Zero the beginning of the SD card:
    dd if=/dev/zero of=/dev/sdX bs=1M count=8
  2. Start fdisk to partition the SD card:
    fdisk /dev/sdX
  3. At the fdisk prompt, create the new partition:
    1. Type o. This will clear out any partitions on the drive.
    2. Type p to list partitions. There should be no partitions left.
    3. Type n, then p for primary, 1 for the first partition on the drive, and enter twice to accept the default starting and ending sectors.
    4. Write the partition table and exit by typing w.
  4. Create the ext4 filesystem:
    1. For e2fsprogs < 1.43:
      mkfs.ext4 /dev/sdX1
    2. For e2fsprogs >= 1.43:
      mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
  5. Mount the filesystem:
    mkdir root
    mount /dev/sdX1 root
  6. Download and extract the root filesystem (as root, not via sudo):
    bsdtar -xpf ArchLinuxARM-espressobin-latest.tar.gz -C root
  7. Unmount the partition:
    umount root
  8. Insert the micro SD card into the ESPRESSObin and connect ethernet to the port next to the USB 3.0 port.

U-Boot configuration

  1. Connect a micro USB cable to the port above the micro SD card slot, and the other end to your computer. On your computer, this will create a serial device (such as /dev/ttyUSB0 on Linux).
  2. Connect to this port with a terminal on Linux, or a program such as Putty on Windows, with a baud rate of 115200bps.
  3. Apply 12V power to the board, and hit any key to stop the auto boot when prompted. You will get a prompt like: Marvell>>
  4. Run the following commands to import the new environment variables to boot from the micro SD card:
    mmc dev 0
    ext4load mmc 0 $loadaddr /boot/uEnv.txt
    env import -t $loadaddr $filesize
  5. Save the environment:
  6. Boot the system:
  7. Use the serial console or SSH to the IP address given to the board by your router.
    • Login as the default user alarm with the password alarm.
    • The default root password is root.
  8. Initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
    pacman-key --init
    pacman-key --populate archlinuxarm

Default system configuration

  • All network interface configuration is handled by systemd-networkd, with the configurations in /etc/systemd/network.
  • The ethernet port nearest the USB 3.0 port is the primary ethernet port, and is instantiated as the wan interface for connecting to the internet.
    • This is set up via The file is required to bring up the link on the eth0 interface to bring up all three ports.
  • The two other ethernet ports are the lan0 and lan1 interfaces, and have been combined into the bridge interface br0 with the static IP
    • These are set up via,, and br0.netdev.
  • The br0 interface is set up for IP masquerading through the wan interface, and both have IP forwarding enabled.
  • The dnsmasq service is started on boot to provide a DHCP server for the br0 interface, serving the IP range

Copyright ©2009-2022 Arch Linux ARM
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis.
The Arch Linux™ name and logo are used under permission of the Arch Linux Project Lead.