Table of contents
This page offers information on how to get a quick start with your ESPRESSObin board, boot it for the first time and make sure everything is working fine. For instructions on how to compile system components and boot them from microSD card, see Software HowTo.
I/O ports and connectors
First, let us see what ports and connectors are available on the ESPRESSObin board. On the top of the board we have:
whereas on the bottom of the board we have the micro SD card slot:
Here is what you will need to power up the board:
- Linux or Windows PC
- ESPRESSObin board with micro SD card containing necessary images and file system
- 12V power adapter
- micro USB cable
- IP router or IP switch
- USB 3.0 Flash disk (optional)
- SATA HDD (optional)
Your ESPRESSObin unit should come with a preprogrammed Buildroot file system. If that is not the case or you want to flash a different kernel or file system to the board, check out Software HowTo page.
Connecting various peripherals to the board functions as following:
- Plug your power adapter to the 12V DC Jack.
- Connect your PC to your board by plugging the micro USB cable to a USB port on your laptop/computer and plugging the other end to the 5V Micro USB port (J5) on ESPRESSObin.
- Connect one end of an Ethernet cable to the WAN port on your ESPRESSObin and the other end to your IP router or IP switch.
- Connect one end of a second Ethernet cable to one of the GbE LAN ports and the other end to your laptop/computer.
- (Optional) Connect your HDD to the board by connecting the data cable to the SATA HDD data cable slot and the power cable to the SATA HDD power slot.
Regarding step 2 from above, we will use serial connection to access console on ESPRESSObin. Follow the tutorial for your OS to make sure you have everything needed:
Start using ESPRESSObin
When the ESPRESSObin starts to boot, you can check your U-Boot version:
U-Boot 2015.01-devel-16.12.0 (Jan 17 2017 - 08:57:22)
Now we are prompted with the Buildroot login:
Welcome to Buildroot buildroot login: root
We login with root where no password is needed.
Once in Buildroot, we can check the kernel version using the uname -a command:
# uname -a Linux buildroot 4.4.8-armada-17.02.1-g7aeb724 #2 SMP PREEMPT Tue Feb 7 16:48:36 CET 2017 aarch64 GNU/Linux
When booting Ubuntu you will be logged in automatically:
Ubuntu 14.04 LTS localhost.localdomain ttyMV0 localhost login: root (automatic login) Ubuntu 14.04 LTS localhost.localdomain ttyMV0 localhost login: root (automatic login) Welcome to Ubuntu 14.04 LTS (GNU/Linux 4.4.8-armada-17.02.1-g7aeb724 aarch64) * Documentation: https://help.ubuntu.com/ The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@localhost:~#
and you can also check kernel version with uname -a command:
root@localhost:~# uname -a Linux localhost.localdomain 4.4.8-armada-17.02.1-g4271698 #3 SMP PREEMPT Thu Feb 9 13:36:58 CET 2017 aarch64 aarch64 aarch64 GNU/Linux
Initial network setup
First thing we want for now is to configure ESPRESSObin as a network client, that is, acquire an IP address through the wan interface . Connect one end of an Ethernet cable to the WAN port on ESPRESSObin and the other end to your router or IP switch. In the Buildroot shell insert the following commands to configure eth0 interface to use DHCP for obtaining an IP address:
# ifconfig eth0 up # dhclient wan [ 162.790397] IPv6: ADDRCONF(NETDEV_UP): wan: link is not ready [ 164.323110] dsa dsa@0 wan: Link is Down [ 165.331782] dsa dsa@0 wan: Link is Up - 100Mbps/Full - flow control rx/tx [ 165.338761] IPv6: ADDRCONF(NETDEV_CHANGE): wan: link becomes ready
using ifconfig command we can verify that the IP address has been obtained, e.g.:
# ifconfig eth0 Link encap:Ethernet HWaddr F0:AD:4E:03:5F:30 inet6 addr: fe80::f2ad:4eff:fe03:5f30%8270400/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:460 errors:0 dropped:0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:532 RX bytes:38118 (37.2 KiB) TX bytes:3456 (3.3 KiB) Interrupt:9 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%8272704/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:140 (140.0 B) TX bytes:140 (140.0 B) wan Link encap:Ethernet HWaddr F0:AD:4E:03:5F:30 inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f2ad:4eff:fe03:5f30%8271552/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:287 errors:0 dropped:0 overruns:0 frame:0 TX packets:22 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:17784 (17.3 KiB) TX bytes:1948 (1.9 KiB)
we can also ping any IP address on the web to check our Internet connection, e.g.
# ping www.google.com PING www.google.com (18.104.22.168): 56 data bytes 64 bytes from 22.214.171.124: seq=0 ttl=54 time=49.404 ms 64 bytes from 126.96.36.199: seq=1 ttl=54 time=48.036 ms 64 bytes from 188.8.131.52: seq=2 ttl=54 time=48.721 ms ^C --- www.google.com ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 48.036/48.720/49.404 ms
See Buildroot - initial network configuration on how to setup routing and more.
To enable router functionality on vanilla Ubuntu, the kernel has to be compiled with several NETFILTER/IPTABLES/NAT features. Instructions on how to do this are described in Ubuntu - initial network configuration.
Connect your USB to the USB2.0 port to see if it is detected correctly. Example output:
# [ 904.012191] usb 1-1: USB disconnect, device number 3 [ 908.879720] usb 1-1: new high-speed USB device number 4 using orion-ehci [ 909.020837] usb-storage 1-1:1.0: USB Mass Storage device detected [ 909.032505] scsi host4: usb-storage 1-1:1.0 [ 910.038223] scsi 4:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6 [ 910.049274] sd 4:0:0:0: [sdb] 15630336 512-byte logical blocks: (8.00 GB/7.45 GiB) [ 910.058262] sd 4:0:0:0: [sdb] Write Protect is off [ 910.063669] sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 910.082282] sdb: sdb1 [ 910.087265] sd 4:0:0:0: [sdb] Attached SCSI removable disk
Plug in your USB3.0 in the designated USB3.0 port on the board. Check in the Buildroot to see if your USB was recognized. Example output:
# [ 4476.431702] usb 2-1: new high-speed USB device number 2 using xhci-hcd [ 4476.630042] usb-storage 2-1:1.0: USB Mass Storage device detected [ 4476.640897] scsi host1: usb-storage 2-1:1.0 [ 4477.647064] scsi 1:0:0:0: Direct-Access Verbatim STORE N GO PMAP PQ: 0 ANSI: 6 [ 4479.652782] sd 1:0:0:0: [sda] 15130624 512-byte logical blocks: (7.75 GB/7.21 GiB) [ 4479.661177] sd 1:0:0:0: [sda] Write Protect is off [ 4479.666693] sd 1:0:0:0: [sda] No Caching mode page found [ 4479.671990] sd 1:0:0:0: [sda] Assuming drive cache: write through [ 4479.683392] sda: sda1 [ 4479.687833] sd 1:0:0:0: [sda] Attached SCSI removable disk
Additionally, you can use lsusb command in the console to get information on devices connected to USB buses:
# lsusb Bus 001 Device 004: ID 0781:5567 Bus 002 Device 002: ID 18a5:0302 Bus 001 Device 001: ID 1d6b:0002 Bus 002 Device 001: ID 1d6b:0002 Bus 003 Device 001: ID 1d6b:0003
Checking reset key
After you press the reset key on your ESPRESSObin board, the system should reboot:
# Booting Trusted Firmware BL1: v1.2(release):devel-16.07.3: BL1: Built : 05:24:14, Sep 1 2NOTICE: BL2: v1.2(release):devel-16.07.3: NOTICE: BL2: Built : 05:24:17, Sep 1 2016 NNOTICE: BL31: v1.2(release):devel-16.07.3: NOTICE: BL31:EEPROM configuration pattern not detected. Loading default FDT U-Boot 2015.01-devel-16.07.2 (Sep 14 2016 - 07:35:09) I2C: ready DRAM: 512 MiB Board: DB-88F3720-DDR3-Modular CPU @ 800 [MHz] L2 @ 800 [MHz] TClock @ 200 [MHz] DDR @ 800 [MHz] Comphy-0: PEX0 2.5 Gbps Comphy-1: USB3_HOST0 5 Gbps