1 ESPRESSObin ZH
CyberMind-FR edited this page 2026-04-06 09:47:07 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ESPRESSObin — SecuBox 安装指南

English | Français

通过 U-Boot 在 GlobalScale ESPRESSObin 开发板上安装 SecuBox 的完整指南。

硬件型号

型号 SoC CPU 内存 eMMC 发布年份
ESPRESSObin v5 Armada 3720 2× A53 @ 800MHz 512MB-1GB 2017
ESPRESSObin v7 Armada 3720 2× A53 @ 1.2GHz 1-2GB 0/4/8GB 2019
ESPRESSObin Ultra Armada 3720 2× A53 @ 1.2GHz 1-4GB 8GB 2020

SecuBox 支持情况:

  • ESPRESSObin v7推荐
  • ESPRESSObin Ultra
  • ⚠️ ESPRESSObin v5有限支持 — 512MB/1GB 内存,不支持 SECUBOX_LITE 配置)

eMMC 存储限制

配置 eMMC 最大镜像大小 构建参数
无 eMMC 仅 SD 卡
4GB eMMC 4 GB 3.5 GB --size 3.5G
8GB eMMC 8 GB 6 GB 默认 4G 可用

重要提示:

  • 默认 SecuBox 镜像大小:3.5GB(适合所有 eMMC 型号)
  • gzwrite 需要约 350MB 内存用于解压缓冲区
  • eMMC 上需保留 500MB 以上空间用于磨损均衡

开发板布局与接口

┌─────────────────────────────────────────────────────────┐
│  ESPRESSObin v7 / Ultra                                 │
│                                                         │
│  ┌─────┐  ┌─────┐  ┌─────┐     ┌──────────┐            │
│  │ WAN │  │LAN 1│  │LAN 2│     │ USB 3.0  │            │
│  │ RJ45│  │ RJ45│  │ RJ45│     │  (blue)  │            │
│  └─────┘  └─────┘  └─────┘     └──────────┘            │
│    eth0     lan0     lan1         USB                  │
│                                                         │
│  [PWR]  [RST]                  ┌──────────┐  ┌──────┐  │
│                                │  µSD     │  │ USB  │  │
│  ○○○○○○ ← UART (J1)            │  slot    │  │ 2.0  │  │
│  123456                        └──────────┘  └──────┘  │
│                                    mmc0       USB      │
│  [DIP SW] ← Boot mode                                  │
│  1 2 3 4 5                                             │
│                                                         │
│           ┌─────────────────┐                          │
│           │     eMMC        │ ← mmc1 (under board)     │
│           │     (8GB)       │                          │
│           └─────────────────┘                          │
└─────────────────────────────────────────────────────────┘

串口控制台 (UART)

引脚定义 — J1 排针6 针)

Pin 1: GND    ← 连接到 USB-TTL 的 GND
Pin 2: NC
Pin 3: NC
Pin 4: RX     ← 连接到 USB-TTL 的 TX
Pin 5: TX     ← 连接到 USB-TTL 的 RX
Pin 6: NC

参数设置: 115200 波特率, 8N1, 无流控

# Linux
screen /dev/ttyUSB0 115200
# or
minicom -D /dev/ttyUSB0 -b 115200

# macOS
screen /dev/tty.usbserial-* 115200

# Windows: PuTTY → Serial → COM3 → 115200

DIP 开关启动模式

5 位 DIP 开关控制启动源和 CPU 速度。

启动源 (SW1-SW3)

SW1 SW2 SW3 启动源
OFF OFF OFF SPI NOR Flash默认 U-Boot
ON OFF OFF eMMC
OFF ON OFF SD 卡
ON ON OFF UART恢复模式
OFF OFF ON SATA如有

CPU 速度 (SW4)

SW4 CPU 频率
OFF 1.2 GHz默认
ON 800 MHz低功耗

调试模式 (SW5)

SW5 模式
OFF 正常
ON 调试 / JTAG 启用

正常 SecuBox 运行时: 所有开关置于 OFF从 SPI NOR 启动加载 U-Boot → 然后从 eMMC/SD 启动)

U-Boot 刷写流程

方法 1: 使用 USB 驱动器和 gzwrite推荐

准备 USB 驱动器

# On your PC
wget https://github.com/CyberMind-FR/secubox-deb/releases/latest/download/secubox-espressobin-v7-bookworm.img.gz

# Format USB as FAT32 or ext4
sudo mkfs.vfat /dev/sdb1
# or
sudo mkfs.ext4 /dev/sdb1

# Copy image
sudo mount /dev/sdb1 /mnt
sudo cp secubox-espressobin-v7-bookworm.img.gz /mnt/
sudo umount /mnt

通过 U-Boot 刷写

=> usb reset
resetting USB...
USB XHCI 1.00
scanning bus usb@58000 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found

=> usb storage
  Device 0: Vendor: Kingston Rev:  Prod: DataTraveler 3.0
            Type: Removable Hard Disk
            Capacity: 29510.4 MB = 28.8 GB

=> ls usb 0:1
       314543223 secubox-espressobin-v7-bookworm.img.gz

=> setenv loadaddr 0x1000000
=> load usb 0:1 $loadaddr secubox-espressobin-v7-bookworm.img.gz
314543223 bytes read in 3422 ms (87.7 MiB/s)

=> gzwrite mmc 1 $loadaddr $filesize
Uncompressed size: 3758096384 bytes (3.5 GiB)
writing to mmc 1...
3758096384 bytes written in 142568 ms (25.1 MiB/s)

方法 2: 使用 SD 卡和 gzwrite

=> mmc dev 0
=> ls mmc 0:1
       314543223 secubox-espressobin-v7-bookworm.img.gz

=> setenv loadaddr 0x1000000
=> load mmc 0:1 $loadaddr secubox-espressobin-v7-bookworm.img.gz
=> gzwrite mmc 1 $loadaddr $filesize

方法 3: TFTP 网络启动

如果您有 TFTP 服务器:

=> setenv serverip 192.168.1.100
=> setenv ipaddr 192.168.1.50
=> setenv loadaddr 0x1000000
=> tftpboot $loadaddr secubox-espressobin-v7-bookworm.img.gz
=> gzwrite mmc 1 $loadaddr $filesize

方法 4: 原始 mmc write未压缩

对于未压缩的 .img 文件(较慢,需要更大的 USB 驱动器):

=> load usb 0:1 $loadaddr secubox-espressobin-v7-bookworm.img
=> mmc dev 1
=> mmc write $loadaddr 0 $filesize

注意: mmc write 需要块计数,而非字节数。计算公式:blocks = filesize / 512

配置启动顺序

刷写完成后,将 eMMC 设置为首选启动设备:

=> setenv boot_targets "mmc1 mmc0 usb0"
=> saveenv
Saving Environment to SPI Flash... done

=> reset

自动启动方法

SecuBox 镜像包含两种自动启动方法:

方法 A: boot.scr推荐

U-Boot 会自动在启动分区搜索 boot.scr

=> load mmc 1:2 $loadaddr /boot/boot.scr
=> source $loadaddr

或手动设置:

=> setenv bootcmd "load mmc 1:2 0x1000000 /boot/boot.scr; source 0x1000000"
=> saveenv

方法 B: extlinux.conf (Distroboot)

如果 U-Boot 支持 distroboot

=> run distro_bootcmd

这会自动搜索 /boot/extlinux/extlinux.conf

手动启动(备用方案)

如果自动启动失败:

=> setenv loadaddr 0x1000000
=> setenv fdt_addr 0x2000000

=> load mmc 1:2 $loadaddr /boot/Image
=> load mmc 1:2 $fdt_addr /boot/dtbs/marvell/armada-3720-espressobin-v7.dtb

=> setenv bootargs "root=LABEL=rootfs rootfstype=ext4 rootwait console=ttyMV0,115200"
=> booti $loadaddr - $fdt_addr

U-Boot 设备参考

设备 U-Boot Linux 描述
SD 卡 mmc 0 /dev/mmcblk0 microSD 插槽
eMMC mmc 1 /dev/mmcblk1 内置 eMMC
USB usb 0 /dev/sda USB 存储设备
SPI NOR sf 0 /dev/mtd0 U-Boot 固件

网络接口 (Linux)

ESPRESSObin 使用 Marvell 88E6341 DSA 交换机:

接口 U-Boot Linux 角色 IP默认
eth0 eth0 WAN上行链路 DHCP 客户端
lan0 lan0 LAN 端口 1 br-lan 成员
lan1 lan1 LAN 端口 2 br-lan 成员
br-lan LAN 网桥 192.168.1.1/24

故障排除

USB 未检测到

=> usb reset
=> usb tree
=> usb info

尝试使用其他 USB 端口或 USB 2.0 驱动器(某些 USB 3.0 驱动器可能存在兼容问题)。

eMMC 未检测到

=> mmc list
mmc@d0000: 0 (SD)
mmc@d8000: 1 (eMMC)

=> mmc dev 1
=> mmc info
Device: mmc@d8000
Manufacturer ID: 15
OEM: 100
Name: 8GTF4
Bus Speed: 52000000
Mode: MMC High Speed (52MHz)
Capacity: 7.3 GiB

如果 mmc dev 1 失败,则开发板可能没有 eMMC — 请使用 SD 卡。

gzwrite 失败 — 内存不足

=> setenv loadaddr 0x1000000

对于 1GB 内存的开发板,请确保使用压缩镜像(.img.gz)。

启动失败 — boot_targets 配置错误

=> print boot_targets
boot_targets=mmc0 usb0 mmc1

=> setenv boot_targets "mmc1 mmc0 usb0"
=> saveenv
=> reset

重置 U-Boot 环境

=> env default -a
=> saveenv
=> reset

检查环境变量

=> print
=> print bootcmd
=> print boot_targets

恢复 — UART 启动

如果 U-Boot 已损坏:

  1. 设置 DIP 开关SW1=ON, SW2=ON, SW3=OFFUART 启动模式)
  2. 使用 mvebu_xmodemkwboot 通过串口加载 U-Boot
  3. 将新的 U-Boot 刷写到 SPI NOR
  4. 将 DIP 开关恢复到正常状态
# Linux recovery (requires kwboot)
sudo kwboot -t -b u-boot-espressobin.bin /dev/ttyUSB0 -B 115200

安装后配置

默认凭据

用户 密码
root secubox
secubox secubox

首要步骤

# Connect via serial or SSH
ssh root@192.168.1.1

# Change passwords
passwd root
passwd secubox

# Check status
secubox-status

# Access Web UI
# https://192.168.1.1:8443

验证网络

# Check interfaces
ip link show

# Check bridge
bridge link show

# Check IP addresses
ip addr show

性能对比 (ESPRESSObin vs MOCHAbin)

指标 ESPRESSObin v7 MOCHAbin
CPU 2× A53 @ 1.2GHz 4× A72 @ 1.4GHz
内存 1-2 GB 4 GB
网络 3× GbE 4× GbE + 2× 10GbE
DPI 模式 仅被动模式 支持内联模式
CrowdSec 精简模式 完整模式
SecuBox 配置 secubox-lite secubox-full

另请参阅