下载最新的 Android 镜像.
下载并安装 Allwinner 镜像下载工具;Windows 使用 PhoenixSuit。
准备 Type-C 数据线和 5 V 电源。
打开 PhoenixSuit,单击 Firmware 图标切换到固件下载面板,再单击 Image 按钮并选择 Android 镜像文件。
按住 M4 Zero 上的 SW2 按钮,同时使用 Type-C 线连接电脑。弹出警告对话框后,单击 Yes。
下载
下载完成
Linux 镜像支持从 SD 卡或 eMMC 启动,并优先从 SD 卡启动。
建议使用 A1 等级、容量至少为 8 GB 的存储卡。
如果要从 SD 卡启动,请确保已格式化可启动的 eMMC。
如果要从 eMMC 启动并将 SD 卡用作存储,请确保 SD 卡已格式化且未烧录 Linux 镜像。
下载最新的 [Linux 镜像],并确认 MD5 校验值正确。
默认登录账号:pi/bananapi 或 root/bananapi
本 Wiki 指南仅适用于 [Banana Pi 4.9 BSP Ubuntu/Debian 镜像]。
Windows
Balena Etcher 是 Balena 提供的开源图形化烧录工具,可将操作系统镜像写入 SD 卡或 USB 存储设备。
单击“Flash from file”选择镜像。
单击“Select target”选择目标设备。
单击“Flash!”开始烧录。
将 img 文件复制到 U 盘,然后将 U 盘插入 M4 Zero。
执行:
root@bpi-m4zero:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 961M 0 disk
mmcblk1 179:0 0 14.8G 0 disk
└─mmcblk1p1 179:1 0 14.7G 0 part /var/log.hdd
/
mmcblk0 179:16 0 7.3G 0 disk
├─mmcblk0p1 179:17 0 32M 0 part
├─mmcblk0p2 179:18 0 32M 0 part
├─mmcblk0p3 179:19 0 256K 0 part
├─mmcblk0p4 179:20 0 256K 0 part
├─mmcblk0p5 179:21 0 64M 0 part
├─mmcblk0p6 179:22 0 64M 0 part
├─mmcblk0p7 179:23 0 32M 0 part
├─mmcblk0p8 179:24 0 32M 0 part
├─mmcblk0p9 179:25 0 3G 0 part
├─mmcblk0p10 179:26 0 16M 0 part
├─mmcblk0p11 179:27 0 128K 0 part
├─mmcblk0p12 179:28 0 128K 0 part
├─mmcblk0p13 179:29 0 64K 0 part
├─mmcblk0p14 179:30 0 64K 0 part
├─mmcblk0p15 179:31 0 64K 0 part
├─mmcblk0p16 259:0 0 64K 0 part
├─mmcblk0p17 259:1 0 512K 0 part
├─mmcblk0p18 259:2 0 15M 0 part
├─mmcblk0p19 259:3 0 16M 0 part
├─mmcblk0p20 259:4 0 16M 0 part
├─mmcblk0p21 259:5 0 2M 0 part
├─mmcblk0p22 259:6 0 2M 0 part
├─mmcblk0p23 259:7 0 16M 0 part
├─mmcblk0p24 259:8 0 16M 0 part
└─mmcblk0p25 259:9 0 3.9G 0 part
mmcblk0boot0 179:32 0 4M 1 disk
mmcblk0boot1 179:48 0 4M 1 disk
zram0 254:0 0 982.5M 0 disk [SWAP]
zram1 254:1 0 50M 0 disk /var/log
mount /dev/sda /mnt
挂载完成后,使用 cd 进入相应目录。执行 ls 命令即可看到要烧录的 img 文件。
cd /mnt
ls
然后使用 dd 命令烧录该文件。
sudo dd if=20241011_Bananapi-Armbian_24.8.2_Bpi-m4zero_ubuntu22.04_jammy_legacy_5.4.125_minimal.img of=/dev/mmcblk0
确保 Linux 镜像已烧录到 SD 卡,并能正常启动。
在终端中输入以下命令。
sudo bananapi-config
按照以下说明将 Linux 系统镜像安装到 eMMC。
选择 Ststem。
选择 Install。
选择 Boot from eMMC。
选择 Yes。
选择 ext4。
等待几分钟。在此期间请勿关闭或重新启动开发板。
最后关闭开发板,断开电源并取出 SD 卡。重新接通电源后,开发板将从 eMMC 启动。
使用 Ubuntu 桌面版系统镜像,可以获得图形化操作界面。
准备一台带 HDMI 接口的显示器、一根 HDMI 线,以及一个 Mini HDMI 转 HDMI 适配器。
使用 HDMI 线和 Mini HDMI 转 HDMI 适配器连接显示器与 BPI-M4 Zero,将显示器输入源切换到对应的 HDMI 接口。上电后稍等片刻,即可看到桌面。
准备好网线和路由器。
使用网线将路由器的一个 LAN 口连接到 BPI-M4 Zero,并将电脑连接到另一个 LAN 口。
在路由器管理界面中查看 BPI-M4 Zero 的 IP 地址,或在 BPI-M4 Zero 的 UART 终端中使用以下命令查询。
ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.10 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::3e1f:688f:81ab:d8b7 prefixlen 64 scopeid 0x20<link>
ether 02:00:54:a0:d6:a6 txqueuelen 1000 (Ethernet)
RX packets 553 bytes 92549 (92.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 329 bytes 26023 (26.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 42
以 MobaXterm 为例,在 IP 地址栏中填入获取到的地址(如上例中的 192.168.3.10),在 Port 栏中填入 22。
打开 SSH 终端,输入用户名/密码:pi/bananapi 或 root/bananapi。输入密码时不会显示字符,正常输入并按 Enter 即可。
确保 BPI-M4 Zero 已连接互联网,然后使用以下命令下载 NoMachine DEB 安装包。
wget https://download.nomachine.com/download/8.9/Arm/nomachine_8.9.1_1_arm64.deb
也可以在电脑浏览器中打开 NoMachine for ARM - arm64 下载页面,下载 DEB 安装包,再通过 SSH 或 U 盘复制到 BPI-M4 Zero 的用户目录。
下载完成后,通过以下命令进行安装。请注意,文件名以实际下载的文件名为准。
sudo dpkg -i nomachine_8.9.1_1_arm64.deb
电脑端也需要下载并安装 NoMachine。在 NoMachine 下载页面中选择适合电脑操作系统的安装包,下载并完成安装。
确保电脑和 BPI-M4 Zero 位于同一局域网。可以先尝试建立 SSH 连接,以确认局域网通信正常。
在电脑上打开 NoMachine,单击 Add,在新窗口的 Host 栏中输入 BPI-M4 Zero 的 IP 地址,然后再次单击 Add。
单击识别到的连接图标,在弹出的新窗口中输入用户名和密码,然后单击 OK。
完成后续设置后就可以看到桌面了。
如果 HDMI 接口未连接任何设备,NoMachine 远程桌面可能显示黑屏。建议保持 HDMI 连接,或接入 HDMI 显示欺骗器。
使用 nmcli 命令扫描 WiFi 热点、连接热点和创建 AP 热点。
nmcli device
nmcli device wifi list
nmcli device wifi connect [SSID] password [PASSWORD]
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
设置静态 IP 前,需要先建立相应连接:设置以太网静态 IP 时先建立以太网连接;设置无线网络静态 IP 时先连接到 WiFi。
如果上级路由器已将目标 IP 地址分配给其他设备,请改用空闲 IP,或让其他设备释放该地址。
使用 nmcli connection show 命令显示所有连接,例如:
pi@bpi-m4zero:~$ nmcli connection show
NAME UUID TYPE DEVICE
TP-LINK_5G_7747 e4a49726-adf1-44d7-a621-0e3af96cc390 wifi wlx2cc3e6acd5d7
Wired connection 1 612eda94-55dc-3c85-b05e-f16c41775b4e ethernet --
使用 nmcli connection show [NAME] 命令显示指定连接的所有属性,例如:
nmcli connection show TP-LINK_5G_7747
如需查看以太网连接,请将名称改为 Wired connection 1
下面只列出三个常用项目
ipv4.dns: 192.168.3.1
ipv4.addresses: 192.168.3.10/24
ipv4.gateway: 192.168.3.1
默认值为网关地址
默认值为路由器通过 DHCP 分配的 IP 地址
网关地址,默认值为路由器的 IP 地址
设置静态 IP:
nmcli connection modify TP-LINK_5G_7747 ipv4.addresses 192.168.3.2
设置 DNS:
nmcli connection modify TP-LINK_5G_7747 ipv4.dns 8.8.8.8
重置:
reboot
重启后查看是否修改成功:
ifconfig
nmcli connection show TP-LINK_5G_7747
Chrony 是一款开源免费的网络时间协议(NTP)客户端和服务器软件,可让计算机的系统时钟与 NTP 服务器保持同步,从而维持准确时间。Chrony 也可以作为服务器,为其他计算机提供时间同步服务。
timedatectl set-ntp false
sudo apt install chrony
systemctl start chrony
systemctl enable chrony
systemctl status chrony
systemctl restart chrony
timedatectl status
timedatectl list-timezones
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp true
date
sudo hwclock -r
输入以下命令,查看 BPI-M4 Zero 板载芯片传感器返回的温度数据。
sensors
使用 Ubuntu 桌面系统时,可以在 Settings 中找到 Displays 选项并修改分辨率。
准备一个已正常分区的 U 盘,并将其插入 BPI-M4 Zero 的 USB 接口。如果 U 盘使用 Type-A 插头,还需要 Type-A 转 Type-C 适配器。
在 Ubuntu 桌面版中,可以看到 U 盘已被识别,可在文件管理器中打开,也可以使用 GParted 工具管理分区。
在终端中,将 U 盘挂载到本地目录:
mkdir mnt
cat /proc/partitions | grep "sd*"
sudo mount /dev/sda1 ~/mnt/
ls ~/mnt/
sudo umount -v /dev/sda1
准备一个音频文件,通过 U 盘或 SSH 将其复制到 BPI-M4 Zero 的 Ubuntu 桌面系统中。
HDMI 音频
准备一台支持 HDMI 音频输入的显示器,在显示器设置中启用相关功能,并使用 HDMI 线和 Mini HDMI 转 HDMI 适配器连接显示器。
在设置的声音栏中将输出设备设置为 HDMI 音频。
播放音频。
在 Ubuntu 桌面中打开 Settings,在 Bluetooth 选项中连接蓝牙鼠标或键盘等设备。
在终端中通过命令行连接蓝牙设备的方法如下:
pi@bpi-m4zero:~$ sudo bluetoothctl
[sudo] password for pi:
Agent registered
[CHG] Controller 2C:C3:E6:AC:D5:D8 Pairable: yes
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# discoverable on
Changing discoverable on succeeded
[CHG] Controller 2C:C3:E6:AC:D5:D8 Discoverable: yes
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller 2C:C3:E6:AC:D5:D8 Discovering: yes
[NEW] Device D4:C4:85:A5:C6:B1 Logitech Pebble
[CHG] Device D4:C4:85:A5:C6:B1 TxPower: 4
[bluetooth]# pair D4:C4:85:A5:C6:B1
Attempting to pair with D4:C4:85:A5:C6:B1
[CHG] Device D4:C4:85:A5:C6:B1 Connected: yes
[DEL] Device A4:C1:38:9B:F6:FD SLPO20N20200059
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00001812-0000-1000-8000-00805f9b34fb
[CHG] Device D4:C4:85:A5:C6:B1 UUIDs: 00010000-0000-1000-8000-011f2000046d
[CHG] Device D4:C4:85:A5:C6:B1 ServicesResolved: yes
[CHG] Device D4:C4:85:A5:C6:B1 Paired: yes
Pairing successful #pairing successfully
[CHG] Device D4:C4:85:A5:C6:B1 Modalias: usb:v046DpB021d0007
[bluetooth]# exit
pi@bpi-m4zero:~$
scp
Linux 系统中的 scp(secure copy)命令用于在主机之间安全地复制文件。
scp 命令可在本地主机与远程主机之间,或两台远程主机之间安全地传输文件。
它采用与 Secure Shell(SSH)协议相同的身份验证和安全机制。
可以通过 Windows 终端向同一局域网中的 Linux 系统复制文件。请确保已启用 OpenSSH 客户端,可在“设置”>“应用”>“可选功能”中查看。
如果要从 Linux 系统向 Windows 系统复制文件,还需要启用 OpenSSH 服务器。
scp 命令格式如下:
scp [optionals] file_source file_target
[optionals] 是可选参数,例如 -r 可用于递归复制整个目录。
file_source:要复制的文件或目录。
file_target:复制目标路径;如果末尾指定了文件名,还会对文件重命名。
以从 Windows 系统向 Linux 系统复制本地文件为例,在 Windows 终端中输入:
PS D:\temp\temp_4> scp ".\hello.txt" [email protected]:"/home/pi/Downloads/"
也可以在 Windows 终端中将 Linux 系统中的文件复制到本地电脑:
PS D:\temp\temp_4> scp [email protected]:"/home/pi/Downloads/hello.txt" "D:\temp\temp_4"
[email protected] 中的 pi 是 Linux 系统用户名,192.168.3.12 是 BPI-M4 Zero 在局域网中的 IP 地址。
“/home/pi/Downloads/hello.txt”是 Linux 系统中的文件路径。
“D:\temp\temp_4”是 Windows 系统中的路径。 scp 参考文档
MobaXterm
可以使用 MobaXterm 或其他类似软件通过图形界面管理文件。
如下图所示,在 MobaXterm 中建立 SSH 连接后,界面左侧会显示文件管理窗口,支持通过拖放文件进行复制和粘贴。