Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Quick notes and howto for building and installing Armbian for espressobin


I haven't tried mainline kernel. just 4.4.x. Seems to work with Xenial and Jessie


make note of the MAC addresseses on the switch ports.. the 2 close together will be LAN1 and LAN2 in the OS. eth1addr and ethaddr2 in u-boot. The 3rd address will be for WAN in the OS aka ethaddr in u-boot

the WAN port is in-line with the SDcard slot on the board.... use that as your primary NIC for now.


Use my branch, or hopefully igor's once my merge request has been added. Standard armbian building expertise applies.


plugging it in

  • 12v power
  • usb console for computer
  • open terminal -- screen -c /dev/null /dev/cu.usbserial 115200

U-boot config

Remember those MAC addresses? Update the device info to use yours!

to see current config printenv

setenv boot_interface mmc
setenv image_name boot/Image
setenv fdt_name boot/dtb/marvell/armada-3720-community.dtb
setenv rootdev "/dev/mmcblk0p1"
setenv rootfstype "ext4"
setenv verbosity "1"
setenv ethaddr "F0:AD:4E:03:XX:XX"
setenv eth1addr "F0:AD:4E:03:XX:XX"
setenv eth2addr "F0:AD:4E:03:XX:XX"
setenv bootcmd 'mmc dev 0; ext4load mmc 0:1 $kernel_addr $image_name;ext4load mmc 0:1 $initrd_addr $initrd_image; ext4load mmc 0:1 $fdt_addr $fdt_name;setenv bootargs $console root=$rootdev rw rootwait; booti $kernel_addr - $fdt_addr'

then run bootcmd

if you're happy with all of that and it works, enter it all again, and save then reset

Booting and logging in

you need a serial console to get started for now.

login do the whatever stuff.

make sure your network cable is plugged into the WAN port. dhclient wan you should get an IP. I don't have network manager figure out yet.

Post Clean-up

eliminate ttyS0 noise

uses a different device ID for serial console

systemctl disable serial-getty@ttyS0.service
systemctl stop serial-getty@ttyS0.service

dhcp kludge

root@espressobin:/var/log# cat /etc/rc.local 
#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# bits.
# By default this script does nothing.
dhclient wan
exit 0

breadcrumb / notes

need to make topaz link to SoC via eth0 a sgmii instead of a rgmii

  • It's futile. Don't bother
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.