BananaPi BPI-CM6 采用 K1 核心和多路电源管理芯片,配备 LPDDR4X 内存与 eMMC 存储。板载 2 通道 M.2 Key M、1 个 USB 2.0、1 个 USB 3.0、Wi-Fi/蓝牙、TF 卡、HDMI TX、MIPI DSI、MIPI CSI、USB Type-C、2 个千兆以太网等接口,为用户提供稳定且易于扩展的一体化解决方案。
准备一根 TTL 串口线、一个 12V PD 电源、一根 USB 数据线,以及一张容量不小于 8GB 的 TF 卡。
请先 下载需要烧录的 SD 卡镜像和 eMMC 镜像。
请注意,以“bianbu-k1-xxx.img.zip”结尾的是 SD 卡镜像,以“bianbu-k1-xxx.zip”结尾的是 eMMC 镜像。烧录时请勿选错。
| 使用 Bianbu 系统时,请选择以“bianbu-k1-xxx.img.zip”结尾的镜像,切勿选错。 |
Balena Etcher 是 Balena 提供的开源图形化镜像烧录工具,可将操作系统镜像烧录到 SD 卡或 U 盘。
点击“Flash from file”选择镜像文件。
点击“Select target”选择目标设备。
点击“Flash!”开始烧录。
| 首次启动时请连接 HDMI 显示器,然后按照界面提示创建用户账户。 |
| 使用 Bianbu 系统时,请选择以“bianbu-k1-xxx.zip”结尾的镜像,切勿选错。 |
安装驱动程序和烧录软件
Windows 用户双击 titantools_for_windows-latest 安装;Linux 用户下载 titantools_for_Linux-latest,赋予可执行权限后即可直接运行,无需安装。
Windows 版本默认安装在电脑的 C 盘,后续使用还会占用一定空间。请确保 C 盘剩余空间大于 10GB;Linux 用户请确保主目录可用空间大于 10GB。
当系统询问是否允许未知发布者的应用更改设备时,请选择允许;安装驱动程序时请选择始终安装。
驱动安装成功后,系统会提示 USB 驱动程序已成功安装。
使用图形界面将镜像烧录到 eMMC
点击“Single Machine Burn”(单机烧录)。如需同时烧录多台设备,请点击“Multiple Machine Burn”(多机烧录)。
让设备进入烧录模式:
方法一:
保持设备断电,按住 DOWNLOAD (FEL) 按键,插入 USB Type-C 数据线,然后松开按键。如果担心 USB 供电不足,可以先接通电源,再松开按键,最后插入 USB 数据线。
方法二:
设备通电后,按住 DOWNLOAD (FEL) 按键,再按一下 Reset 按键,然后插入 USB 数据线。
| 通过 USB HUB 连接时,可能会出现“Fastboot device initialization failure”(Fastboot 设备初始化失败)的提示。 |
软件成功识别设备后,会显示“VID:PID=”。如果连接了多台设备,请选择需要烧录的设备。
选择 烧录文件。软件会先解压文件,请耐心等待。
点击 开始烧录。
烧录完成后,重新给设备上电。
使用命令行工具将镜像烧录到 eMMC
这是另一种烧录方式。使用 Titan Flasher 工具时,请将 flashserver.exe 放到准备烧录的 eMMC 镜像文件所在目录。
按照下图所示,在电脑上运行该程序:
系统识别到设备(VID:PID=XXX)后,选择第“1”项开始烧录。
| Armbian 镜像目前仅支持从 SD 卡启动。 |
除了使用 Titan Flasher,还可以使用 dd 命令将镜像烧录到 eMMC。
|
下面以 bianbu-24.04-desktop-k1-v2.1-release-20250124144655.img 为例。 将“bianbu-k1-xxx.img.zip”解压到 U 盘,然后从“bianbu-k1-xxx.zip”中取出“fsbl.bin”和“bootinfo_emmc.bin”,复制到同一个 U 盘。
首先,将已经烧录好系统镜像的 SD 卡插入 BPI-CM6,然后上电启动。
将上述 U 盘插入 BPI-CM6。
系统启动后,使用 lsblk 命令查看存储设备。
pi@k1:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 14.8G 0 disk
└─sda1 8:1 1 14.8G 0 part
mmcblk0 179:8 0 14.8G 0 disk
├─mmcblk0p1 179:9 0 256K 0 part
├─mmcblk0p2 179:10 0 128K 0 part
├─mmcblk0p3 179:11 0 384K 0 part
├─mmcblk0p4 179:12 0 2M 0 part
├─mmcblk0p5 179:13 0 256M 0 part
└─mmcblk0p6 179:14 0 8G 0 part /
mmcblk2 179:8 0 14.6G 0 disk
其中,sda1 是 U 盘分区,mmcblk0 是 SD 卡,mmcblk2 是 eMMC。
先将 U 盘挂载到 /mnt。
sudo mount /dev/sda1 /mnt
cd /mnt
使用 dd 命令将镜像写入 eMMC。
sudo dd if=bianbu-24.04-desktop-k1-v2.1-release-20250124144655.img of=/dev/mmcblk2 bs=10M
| 如果执行 lsblk 命令后已经能够看到 BOOT 分区,可以直接跳到第 9 步。 |
接下来更新 eMMC 的 boot0 分区。部分镜像默认隐藏启动分区,因此需要修改内核命令行。先挂载 bootfs:
sudo mount /dev/mmcblk0p5 /boot
sudo nano /boot/env_k1-x.txt
找到 Commonargs,在末尾添加 recovery=1。
commonargs=setenv bootargs earlycon=${earlycon} earlyprintk console=tty1 console=${console} ${loglevel} clk_ignore_unused rdinit=${init} recovery=1
保存文件并重启系统。
sudo reboot
重启完成后,再次执行 lsblk,此时应能看到 BOOT 分区。
pi@k1:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 14.8G 0 disk
└─sda1 8:1 1 14.8G 0 part
mmcblk0 179:0 0 14.8G 0 disk
├─mmcblk0p1 179:1 0 256K 0 part
├─mmcblk0p2 179:2 0 128K 0 part
├─mmcblk0p3 179:3 0 384K 0 part
├─mmcblk0p4 179:4 0 2M 0 part
├─mmcblk0p5 179:5 0 256M 0 part
└─mmcblk0p6 179:6 0 8G 0 part /
mmcblk2 179:8 0 14.6G 0 disk
├─mmcblk2p1 179:9 0 256K 0 part
├─mmcblk2p2 179:10 0 64K 0 part
├─mmcblk2p3 179:11 0 1M 0 part
├─mmcblk2p4 179:12 0 2M 0 part
├─mmcblk2p5 179:13 0 256M 0 part
└─mmcblk2p6 179:14 0 2G 0 part
mmcblk2boot0 179:16 0 4M 1 disk
mmcblk2boot1 179:24 0 4M 1 disk
再次将 U 盘挂载到 /mnt。
sudo mount /dev/sda1 /mnt
cd /mnt
执行以下命令:
echo 0 | sudo tee /sys/block/mmcblk2boot0/force_ro
sudo dd if=bootinfo_emmc.bin of=/dev/mmcblk2boot0
sudo dd if=FSBL.bin of=/dev/mmcblk2boot0 seek=512 bs=1
sync
等待烧录完成,然后断开电源并取出 SD 卡和 U 盘。重新上电后,设备将从 eMMC 启动。
可通过以下两种方式配置 Wi-Fi
使用图形界面配置 Wi-Fi。
使用命令配置 Wi-Fi。
sudo nmcli dev
sudo nmcli r wifi on
sudo nmcli dev wifi
sudo nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0
可通过以下两种方式配置蓝牙
使用图形界面配置蓝牙。
使用命令配置蓝牙。
hciconfig
sudo bluetoothctl
power on //Open the Bluetooth network card
discoverable on //Set the controller to discoverable
pairable on //Set the controller to be pairable
scan on //Scan MAC addresses of other Bluetooth devices
scan off //Close scanning
agent on //Open the agent for connecting to other Bluetooth devices
pair <MAC address> //Pairing Bluetooth devices
disconnect <MAC address> //Disconnect
remove <MAC address> //Unpairing
connect <MAC address> //Connecting a Bluetooth device
exit
使用带 1 mm 插头的纽扣电池,接入 RTC 电池接口,为 RTC 供电。
root@bananapicm6io:~# date -s 2028-08-08
2028年 08月 08日 星期二 00:00:00 CST
root@bananapicm6io:~#
root@bananapicm6io:~# hwclock -w
root@bananapicm6io:~#
root@bananapicm6io:~#
root@bananapicm6io:~# date -s 2021-01-01
2021年 01月 01日 星期五 00:00:00 CST
root@bananapicm6io:~#
root@bananapicm6io:~# hwclock -r | grep "2028-08-08" | wc -l
1
root@bananapicm6io:~# hwclock
2028-08-08 00:00:54.602891+08:00
root@bananapicm6io:~# date
2021年 01月 01日 星期五 00:01:04 CST
RTC 时钟设置成功。
| 开发板上有两个 M.2 Key M 接口,可以任选其中一个使用。 |
将一块 M.2 Key M SSD 插入任意一个 Key M 插槽。
然后执行以下命令查询设备:
使用 lspci 和 lsblk 可以查看 NVMe 设备信息与容量。
pi@bananapicm6io:~$ lspci
0001:00:00.0 PCI bridge: Device 201f:0001 (rev 01)
0001:01:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (DRAM-less) (rev 01)
0002:00:00.0 PCI bridge: Device 201f:0001 (rev 01)
pi@bananapicm6io:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk2 179:0 0 14.6G 0 disk
├─mmcblk2p1 179:1 0 256K 0 part
├─mmcblk2p2 179:2 0 64K 0 part
├─mmcblk2p3 179:3 0 1M 0 part
├─mmcblk2p4 179:4 0 2M 0 part
├─mmcblk2p5 179:5 0 256M 0 part
└─mmcblk2p6 179:6 0 8G 0 part
mmcblk2boot0 179:8 0 4M 1 disk
mmcblk2boot1 179:16 0 4M 1 disk
mmcblk0 179:24 0 14.8G 0 disk
├─mmcblk0p1 179:25 0 256M 0 part /boot
└─mmcblk0p2 179:26 0 14.3G 0 part /var/log.hdd
/
nvme0n1 259:0 0 238.5G 0 disk