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.
- Zero the beginning of the SD card:
dd if=/dev/zero of=/dev/sdX bs=1M count=8
- Start fdisk to partition the SD card:
- At the fdisk prompt, create the new partition:
- Type o. This will clear out any partitions on the drive.
- Type p to list partitions. There should be no partitions left.
- 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.
- Write the partition table and exit by typing w.
- Create the ext4 filesystem:
- For e2fsprogs < 1.43:
- For e2fsprogs >= 1.43:
mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
- Mount the filesystem:
mount /dev/sdX1 root
- Download and extract the root filesystem (as root, not via sudo):
bsdtar -xpf ArchLinuxARM-espressobin-latest.tar.gz -C root
- Unmount the partition:
- Insert the micro SD card into the ESPRESSObin and connect ethernet to the port next to the USB 3.0 port.
- 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).
- Connect to this port with a terminal on Linux, or a program such as Putty on Windows, with a baud rate of 115200bps.
- Apply 12V power to the board, and hit any key to stop the auto boot when prompted. You will get a prompt like: Marvell>>
- 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
- Save the environment:
- Boot the system:
- 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.
- Initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
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 wan.network. The eth0.network 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 10.0.0.1.
- These are set up via lan.network, br0.network, 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 10.0.0.5-10.0.0.250.