HCL:EspressoBin

Jump to: navigation, search

The Globalscale Technologies ESPRESSObin is a single-board computer.

Technical details

  • Marvell Armada 3720 SoC
    • 2x Arm Cortex-A53 CPU
  • Topaz Networking Switch
  • micro SD card slot
  • 2x Gbit Ethernet LAN
  • 1x Ethernet WAN
  • SATA interface for HDD storage
  • USB 3.0 and USB 2.0
  • MiniPCIe

Manual installation

For basic installation prepare a micro SD card with a raw image as described here AArch64_EFI. Put the SD card into your board and do the following steps:

  • connect a USB cable to have access to the serial console of the CPU. This is running at 115200 baud.
  • power it
  • stop u-boot to get a prompt
  • run the following command:
env default -a; load mmc 0:1 $kernel_addr_r /efi/boot/bootaa64.efi; load mmc 0:2 $fdt_addr_r /dtb/armada-3720-espressobin.dtb; bootefi $kernel_addr_r $fdt_addr_r
  • the board should boot to a grub prompt
  • set the grub environment variables to run the default boot menu
set root=hd0,gpt1
set prefix=($root)/efi/boot
normal
  • linux should boot now to the login prompt
  • login as root (password: linux)
  • find the UUID of the EFI partition (which is the first one of the disk, mmcblk0p1), e.g.:
localhost:~ # ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 15 Jul 22 15:59 9691cdb9-ffad-4764-bf89-e958d79ef0fd -> ../../mmcblk0p4
lrwxrwxrwx 1 root root 15 Jul 22 15:59 992D-C26D -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 15 Jul 22 15:59 af77f2f7-8017-4a25-8c50-38491762fbfc -> ../../mmcblk0p3
lrwxrwxrwx 1 root root 15 Jul 22 15:59 c42e9c58-b0d4-4e18-b8ac-df0a2e1a5eb4 -> ../../mmcblk0p2
  • install the opensuse bootloader
grub2-install --skip-fs-probe --no-nvram
  • prepare a temporary grub config /tmp/grub.cfg (e.g. by using vi), ensure that the UID of the EFI partition is used for the search command:
search --fs-uuid --set=root 992D-C26D
set prefix=($root)/efi/opensuse
  • prepare a grub2 EFI loader that includes the teporary config:
MODULES=$(for i in $(ls /usr/share/grub2/arm64-efi/*.mod); do echo $i | cut -d/ -f6; done | cut -d. -f1 | tr '\n' ' ')
grub2-mkimage -v -c /tmp/grub.cfg -O arm64-efi -p "" -o /boot/efi/EFI/opensuse/grubaa64.efi $MODULES
  • reboot the board and stop u-boot to get a prompt and make the default boot parameters permanent:
env default -a
setenv bootcmd 'load mmc 0:1 $kernel_addr_r /efi/opensuse/grubaa64.efi; load mmc 0:2 $fdt_addr_r /dtb/armada-3720-espressobin.dtb; bootefi $kernel_addr_r $fdt_addr_r'
saveenv
  • reset the board, it should boot into linux per default now.

Boot from SATA disc

Instead from a SD card the board can also boot from a SATA disk. For that do the same steps as described in "Manual Installation", but modify the u-boot commands to:

env default -a; scsi reset; load scsi 0:1 $kernel_addr_r /efi/boot/bootaa64.efi; load scsi 0:2 $fdt_addr_r /dtb/armada-3720-espressobin.dtb; bootefi $kernel_addr_r $fdt_addr_r
env default -a
setenv bootcmd 'scsi reset; load scsi 0:1 $kernel_addr_r /efi/opensuse/grubaa64.efi; load scsi 0:2 $fdt_addr_r /dtb/armada-3720-espressobin.dtb; bootefi $kernel_addr_r $fdt_addr_r'
saveenv

Known Problems

  • The default network configuration does not work due to the switch vlan configuration, use yast to configure it manually.

SATA and USB3 does not work with 5.1 and newer kernel

The SATA PHY cannot be intialized:

[   11.748728] phy phy-d0018300.phy.2: phy poweron failed --> -1
[   11.748775] ahci-mvebu: probe of d00e0000.sata failed with error -1

This can be fixed by using a newer Arm Trusted Firmware that needs to be flashed to the onboard flash. Pre-build images can be downloaded from here.

See also