Banana Pi BPI-CM7 是一款基于 Allwinner H618 的计算模块,搭配 BPI-CM7IO 载板使用。
| 更多信息:Banana Pi BPI-CM7 主页 |
主控:Allwinner H618,四核 Cortex‑A53,主频最高 1.5GHz
GPU: ARM Mali G31
内存:板载 LPDDR4
存储:板载 eMMC
无线:K019-CW43-Dw Wi-Fi 5 和蓝牙 5.0
USB:1 路 USB2.0 OTG,3 路 USB2.0 Host
显示:HDMI 输出、CVBS 复合视频输出
网口:1 路 10/100M 以太网
扩展:microSD 卡槽、2 组 100pin 板对板连接器
下载最新 Android 镜像:
获取全志刷机工具 PhoenixSuit: phoenixsuit (Windows 平台)。
Type‑C 数据线(支持数据传输)、5V 电源
打开 PhoenixSuit,单击 一键刷机 图标切换到固件下载面板。
单击 浏览 选择 Android 镜像文件。
持续按压 FEL 按钮,同时使用 Type-C(带有data线) 接口将 CM7 连接到电脑。弹出警告对话框后,单击 是。
自动开始固件下载,等待刷机完成。
下载完成。
Linux 镜像支持 SD 卡或 eMMC 两种启动方式;插入 SD 卡时,板子优先从 SD 卡启动。
SD 卡推荐:容量≥8GB,A1 等级存储卡。
若从 SD 卡启动:建议提前格式化 eMMC,清除原有系统。
若从 eMMC 启动,SD 卡仅作存储使用:SD 卡需提前格式化,不要写入系统镜像。
Linux 镜像下载: Bananapi-Armbian_24.11.1_Bpi-cm7_jammy_legacy_5.4.125_xfce_desktop.img 。下载后务必校验 MD5 值,保证镜像完整。
镜像烧录工具: balenaEtcher 。
默认账号密码: pi/bananapi 或 root/1234。
本 Wiki 指南仅适用于 Ubuntu/Debian 类镜像。
两种方式任选其一:
方式一: Balena Etcher 图形工具(Windows/Linux/macOS)
Balena Etcher 是 Balena 提供的开源图形化镜像写入工具,可将操作系统镜像写入 SD 卡或 U 盘。
在 Ubuntu 等 Linux 桌面系统中,可能需要先授予 AppImage 文件执行权限。
运行 Balena Etcher,选择「从文件烧录」,导入镜像文件。
| 选中目标 SD 卡设备,注意仔细核对设备,防止选错盘。 |
开始烧录,等待写入 + 校验完成。
方式 2:Balena CLI 命令行(Windows/Linux/macOS)
Balena CLI 是 balenaCloud/openBalena 的命令行工具,也可用于写入 Linux 镜像。
下载适用的安装程序或独立软件包(以 Windows 为例): balena-cli-v25.2.6-windows-x64-installer.exe 。
在 Windows 下以管理员身份打开 PowerShell。
#列出可用于写入操作系统镜像的存储设备
balena util available-drives
#日志
PS C:\WINDOWS\system32> balena util available-drives
DEVICE SIZE DESCRIPTION
\\.\PhysicalDrive2 15.9 GB Generic STORAGE DEVICE USB Device
#写入镜像(如果没有反应,按一次 Ctrl+C 就可以出现进度条)
PS C:\WINDOWS\system32> balena local flash C:\BPI\Bananapi-Armbian_24.11.1_Bpi-cm7_jammy_legacy_5.4.125_xfce_desktop.img.zip --drive \\.\PhysicalDrive2 --yes
#日志
Flashing [========================] 100% eta 0s
Validating [========================] 100% eta 0s
在 Linux 中可能需要使用 sudo 获取 root 权限后执行。
#写入镜像
sudo balena local flash path/to/xxx-bpi-m4-berry-xxx.img.zip --drive /dev/disk2
确保 Linux 镜像已烧录到 SD 卡,开发板可以正常 SD 卡启动。
在终端中输入以下命令。
sudo armbian-config #BPI-CM7 上电登录进系统后,在终端输入这条命令,打开图形化配置菜单
按照以下步骤将 Linux 系统镜像安装到 eMMC。
选择 System。
选择 Storage。
选择 ST0001。
选择 install。
选择 mmcbLk0。
选择 emmc。
选择 ext4。
选择 Erase and install。
等待十几分钟,此时请勿关闭或重新启动开发板。
安装成功,选择 OK,关闭开发板并断开电源,取出 SD 卡后重新接通电源,开发板即可从 eMMC 启动。
确保 Linux 镜像已烧录到 SD 卡中并插入 SD 卡。插入 SD 卡默认优先 SD 卡启动。
终端执行`lsblk`,列出系统中的硬盘、分区等块设备信息。
wangshui@bpi-cm7:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk0 179:0 0 29.3G 0 disk
└─mmcblk0p1 179:1 0 29.3G 0 part
mmcblk0boot0 179:16 0 4M 1 disk
mmcblk0boot1 179:32 0 4M 1 disk
mmcblk1 179:48 0 14.8G 0 disk
└─mmcblk1p1 179:49 0 14.7G 0 part /var/log.hdd #挂载在 `mmcblk1p1` → 系统根分区在 mmcblk1
/
zram0 254:0 0 982.5M 0 disk [SWAP]
zram1 254:1 0 50M 0 disk /var/log
mmcblk0 是 eMMC,mmcblk1 是 SD 卡。在终端中输入以下命令擦除 eMMC。此过程需要十几分钟且不可逆,请事先备份重要数据。
sudo dd if=/dev/zero of=/dev/mmcblk0 #向 eMMC 全盘持续写入 0,覆盖所有分区与数据
#日志
使用以下命令确认开发板型号、操作系统、CPU、内存和启动存储设备。
hostnamectl
tr '\0' '\n' < /proc/device-tree/model
tr '\0' '\n' < /proc/device-tree/compatible
uname -a
lscpu
free -h
lsblk -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,FSTYPE,MOUNTPOINTS
findmnt -no SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET /
测试结果:
开发板:Banana Pi BPI-CM7 + BPI-CM7IO
操作系统:Armbian 24.11.1 Jammy / Ubuntu 22.04.5 LTS
内核: Linux 5.4.125-legacy-sunxi64
架构:arm64
CPU:4 个 Cortex-A53,高达 1512 MHz
内存:Linux 可用 1.9 GiB
启动设备:microSD, /dev/mmcblk1p1
eMMC: /dev/mmcblk0, 29.3 GiB
用于测试的登录用户: pi
使用以下命令检查系统是否已启动到 graphical target,以及显示管理器是否正在运行。
systemctl get-default
systemctl is-active display-manager
loginctl list-sessions
测试结果:
graphical.target
active
准备好网线和路由器。
将 BPI-CM7IO 的以太网口和 PC 接入同一局域网。
从路由器管理页面查看开发板的 IP 地址,或在开发板本地终端中执行以下命令。
ip -brief address show eth0
hostname -I
检查开发板上的 SSH 服务状态。
systemctl is-active ssh
在 PC 上打开终端并连接开发板,将 <board-ip> 替换为路由器实际分配的地址。
ssh pi@<board-ip>
登录后,使用以下命令确认远程用户名、开发板名称和内核版本。
whoami
hostnamectl --static
uname -r
测试结果:
SSH service: active
Remote login: successful
User: pi
Hostname: bpi-cm7
Kernel: 5.4.125-legacy-sunxi64
检查 armbian-config 是否已安装。
command -v armbian-config
使用以下命令启动 Armbian 配置工具。
sudo armbian-config
测试结果:
/usr/bin/armbian-config
使用 nmcli 命令列出网络设备并扫描 Wi-Fi 接入点。
nmcli device # List devices
nmcli device wifi list # List available Wi-Fi access points
rfkill list # Check whether Wi-Fi is blocked
使用以下命令连接、断开连接或创建 Wi-Fi 热点。
nmcli device wifi connect [SSID] password [PASSWORD]
nmcli connection up [SSID]
nmcli device disconnect [device name]
nmcli device wifi hotspot con-name [NAME] ifname [device name] ssid [SSID] password [PASSWORD]
nmcli connection show
nmcli connection down [NAME]
nmcli connection up [NAME]
nmcli connection delete [SSID]
nmcli radio wifi off
nmcli radio wifi on
测试结果:
Interface: wlan0
rfkill soft blocked: no
rfkill hard blocked: no
Wi-Fi scan: successful
测试所用镜像通过 Chrony 进行网络时间同步。
使用以下命令检查系统时钟、同步状态、Chrony 服务和时间源。
timedatectl status
systemctl status chrony
chronyc tracking
chronyc sources -v
date
使用以下命令管理 Chrony 服务。
sudo systemctl start chrony
sudo systemctl enable chrony
sudo systemctl restart chrony
使用以下命令列出或更改时区。
timedatectl list-timezones
sudo timedatectl set-timezone Asia/Shanghai
测试结果:
System clock synchronized: yes
NTP service: active
Chrony service: active
Time zone during test: Etc/UTC
使用以下命令识别 4 个 thermal zone。
cat /sys/class/thermal/thermal_zone0/type
cat /sys/class/thermal/thermal_zone1/type
cat /sys/class/thermal/thermal_zone2/type
cat /sys/class/thermal/thermal_zone3/type
使用以下命令读取温度。
cat /sys/class/thermal/thermal_zone0/temp
cat /sys/class/thermal/thermal_zone1/temp
cat /sys/class/thermal/thermal_zone2/temp
cat /sys/class/thermal/thermal_zone3/temp
将每个返回值除以 1000,即可得到摄氏温度。
测试结果:
cpu_thermal_zone: 50.2 °C
ddr_thermal_zone: 51.4 °C
gpu_thermal_zone: 53.4 °C
ve_thermal_zone: 50.8 °C
使用以下命令列出音频播放设备。
aplay -l # List playback devices
测试结果:
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: soc@3000000:codec_plat-5096000.codec 5096000.codec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: ahubhdmi [ahubhdmi], device 0: ahub_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
SCP 使用 SSH 协议,在 PC 与 BPI-CM7 之间安全复制文件。请先确认 PC 和开发板已连接到同一局域网,且 SSH 可以正常登录。
SCP 命令格式如下:
scp [options] file_source file_target
使用 -r 递归复制目录。
将本地文件从 PC 复制到 BPI-CM7:
scp local-file pi@<board-ip>:/home/pi/
将文件从 BPI-CM7 复制到 PC:
scp pi@<board-ip>:/home/pi/remote-file ./
测试结果:
Upload to /tmp: successful
Remote file size and SHA-256 verification: successful
Temporary test file removal: successful