βš™οΈ EspressoBin β€” UEFI + eMMC Complete Guide (2022 β†’ 2025) πŸš€

πŸ“˜ Projet : OMNI SUITE | Cyber / Embedded Labs
🧠 Auteur : KuBoX Studio @ CyberMind # KERMA’s project
πŸ“… PΓ©riode couverte : 2022 β†’ 2025
πŸ’» Plateformes : EspressoBin v5 / v7 / Ultra β€” ARM64 (Marvell Armada 3720)


🏁 Introduction

Ce guide fusionne l’ensemble des expΓ©rimentations UEFI Boot (CyberMind, 2022) et OpenWrt eMMC (KuBoX Studio, 2024) sur les cartes Globalscale EspressoBin.
Il couvre l’installation, la configuration et le dΓ©marrage d’OS ARM64 via U‑Boot / Tow‑Boot / UEFI, avec un focus sur la version v7 eMMC.

β€”

🧱 1️⃣ Hardware Overview

Version SoC MΓ©moire Stockage Interfaces principales
EspressoBin v5 Armada 3720 DDR3 1‑2β€―GB Β΅SD / SATA 3Γ— GbE, 1Γ— USB3, 1Γ— SATA, UART
EspressoBin v7 (eMMC) Armada 3720 Rev.7 DDR3L 2β€―GB eMMC 8/16β€―GB, Β΅SD 3Γ— GbE, 2Γ— USB3, SATA, UART, mini‑PCIe
EspressoBin Ultra Armada 3720 + DDR4 DDR4 4β€―GB eMMC + SATA + NVMe 3Γ— GbE, 2Γ— USB3, SATA, M.2 NVMe

πŸ”© Ports principaux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ EspressoBin β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ USB3 β”‚ β”‚ USB2 β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ SATA Port β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ [ETH0] [ETH1] [ETH2] β”‚ β†’ 3Γ— Gigabit Ethernet
β”‚ β”‚
β”‚ β—‹ UART / Console (micro‑USB)
β”‚ β—‹ microSD slot
β”‚ β—‹ eMMC (on‑board v7+)
β”‚ β—‹ 12β€―V DC IN (centre +)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

⚑ 2️⃣ Power & Console Setup

πŸ”‹ Alimentation : 12β€―Vβ€―/β€―2β€―A (centre positif).
🧷 Console sΓ©rie : via micro‑USB ou header UART 3‑pins (115200β€―8N1).
πŸ’» Outils :

  • Linux/macOS β†’ screen /dev/ttyUSB0 115200
  • Windows β†’ PuTTY (115200β€―8N1, No Flow Control)

πŸ” VΓ©rifications initiales

Dans la console :

1
2
3
version
mmc list
usb reset

Assure‑toi que les pΓ©riphΓ©riques USB et MMC sont correctement dΓ©tectΓ©s avant de flasher ou booter.


🧩 3️⃣ UEFI Boot Setup (CyberMind, 2022)

BasΓ© sur les travaux originaux de CyberMind (EspressoBin UEFI Boot Notes).

🧠 Objectif

Configurer et valider le boot UEFI sur les cartes EspressoBin ARM64 Γ  partir d’U‑Boot.
Compatible avec Debian, IPFire, OPNsense, FreeBSD, et OpenBSD.

βš™οΈ Configuration U‑Boot

1
2
3
4
5
setenv fdt_name 'dtb/marvell/armada-3720-espressobin.dtb'
setenv image_name 'EFI/BOOT/bootaa64.efi'
setenv kernel_addr_r 0x5000000
setenv fdt_addr_r 0x4f00000
saveenv

πŸ’Ύ PrΓ©parer un support de boot (USB / eMMC / SD)

1
2
3
4
sudo wipefs -a /dev/sdX
sudo sgdisk --zap-all /dev/sdX
sudo sgdisk -n1:0:+512M -t1:EF00 -c1:"EFI System" /dev/sdX
sudo mkfs.vfat -F32 -n EFI /dev/sdX1

Copie :

1
2
/EFI/BOOT/BOOTAA64.EFI
/dtb/marvell/armada-3720-espressobin.dtb

πŸ§ͺ Test IPFire πŸ”₯

1
2
3
4
usb reset
load usb 0:2 $kernel_addr_r /efi/boot/bootaa64.efi
load usb 0:1 $fdt_addr_r /dtb-5.10.50-ipfire/marvell/armada-3720-espressobin-v7-emmc.dtb
bootefi $kernel_addr_r $fdt_addr_r

βœ… RΓ©sultat : Boot Linux LTS OK – USB3 fonctionnel / USB2 non.

πŸ§ͺ Test OPNsense 🧠

1
2
3
4
mmc dev 0
fatload mmc 0:1 $kernel_addr_r EFI/BOOT/bootaa64.efi
fatload mmc 0:1 $fdt_addr_r dtb/marvell/armada-3720-espressobin.dtb
bootefi $kernel_addr_r $fdt_addr_r

βœ… RΓ©sultat : Boot FreeBSD / OPNsense EFI OK.


πŸ’Ύ 4️⃣ OpenWrt v7 eMMC Build & Flash (KuBoX Studio, 2024)

InspirΓ© du guide technique eMMC v7 EBIN.

🧱 Construction de l’image OpenWrt

1
make PACKAGES="luci luci-ssl openssh-server openssh-client fstools e2fsprogs resize2fs qosify ..." ROOTFS_PARTSIZE="3500" EXTRA_IMAGE_NAME="-GK2@TEST-2408111-003" image PROFILE=globalscale_espressobin-v7-emmc

πŸ’Ύ Flash vers eMMC via U‑Boot

1
2
3
4
5
6
7
usb reset
ls usb 0
load usb 0:1 $kernel_addr_r EBIN/openwrt-23.05.4-EBINv7EMMC.img.gz
mmc dev 1 0
gzwrite mmc 1 $kernel_addr_r $filesize
mmc rescan
reset

πŸš€ DΓ©marrage automatique OpenWrt eMMC

1
2
3
4
5
6
setenv bootowrt 'mmc dev 1; ext4load mmc 1:1 $kernel_addr_r $image_name; ext4load mmc 1:1 $fdt_addr_r $fdt_name; setenv bootargs $console root=/dev/mmcblk1p2 rw rootwait net.ifnames=0 biosdevname=0; booti $kernel_addr_r - $fdt_addr_r'
setenv bootcmd 'run bootowrt'
setenv fdt_name 'armada-3720-espressobin-v7-emmc.dtb'
setenv image_name 'Image'
saveenv
reset

🌳 5️⃣ DTB & Compatibility Matrix

🧱 Carte 🧬 DTB recommandΓ© πŸ’Ώ OS testΓ© βš™οΈ Statut
EspressoBin v7 eMMC armada-3720-espressobin-v7-emmc.dtb IPFire βœ… OK
EspressoBin v5 armada-3720-espressobin.dtb OPNsense / FreeBSD βœ… OK
EspressoBin Ultra armada-3720-espressobin-ultra.dtb Debian / OpenWrt βš™οΈ En test

πŸ’‘ Les DTB doivent correspondre Γ  la rΓ©vision matΓ©rielle exacte.


🧰 6️⃣ Troubleshooting & Commands

⚠️ ProblΓ¨me πŸ’‘ Cause 🧩 Solution
Bad gz header sur gzwrite Image corrompue Re‑copier l’image sur la clΓ© USB et recharger
Unknown MMC device Mauvais index Utiliser mmc list pour vΓ©rifier (0β€―=β€―SDβ€―/β€―1β€―=β€―eMMC)
Boot bloquΓ© Mauvais chemins VΓ©rifier $image_name, $fdt_name, ext4load
Kernel panic root Mauvais root=/dev/mmcblkXpY Adapter selon la dΓ©tection Linux
LuCI absent Paquets manquants Rebuild ImageBuilder avec modules luci

🧩 7️⃣ OS Compatibility Table (2022β€―β†’β€―2025)

πŸ–₯️ OS / Distribution πŸ’Ώ UEFI πŸ’Ύ eMMC 🌐 RΓ©seau 🧱 Statut
Debianβ€―12 (Bookworm) βœ… Oui βœ… Oui βœ… OK 🟒 Stable
OpenWrtβ€―23.05.4 (mvebu) βœ… Oui βœ… Oui βœ… OK 🟒 Stable
IPFireβ€―2.27β€―(LTS) βœ… Oui βš™οΈ Partiel βœ… OKβ€―(USB3) 🟑 Fonctionnel
OPNsenseβ€―/β€―FreeBSDβ€―13+ βœ… Oui βš™οΈ Partiel ⚠️ Γ  configurer 🟑 Boot EFI OK
Armbianβ€―24.x (Debian/Ubuntu) βœ… Oui βœ… Oui βœ… OK 🟒 RecommandΓ©
OpenBSDβ€―7.xβ€―ARM64 βš™οΈ ExpΓ©rimental ❌ Non βš™οΈ LimitΓ©e πŸ”΄ Non stable

🧾 8️⃣ Credits & References

✍️ RΓ©daction & Tests : KuBoX Studio @β€―CyberMind β€” KERMA’s Project
πŸ“… 2022β€―β†’β€―2025β€―: CyberMind, KuBoX Studio, OpenWrtβ€―Labs
πŸ”— Sources :

  • CyberMind β€” EspressoBin UEFI Boot Notes (2022)
  • OpenWrtβ€―23.05.4 ImageBuilder – mvebu‑cortexa53 (2024)
  • KuBoXβ€―Studio /β€―OMNIβ€―SUITEβ€―2025β€―Internal Docs