ZVM-RK3588v2.1发行版部署指南(鲁班猫LubanCat-5,手工方式)
1、准备硬件
- 开发板:LubanCat-5(购买链接)(建议8G内存版本)
- 读卡器、TF卡:32GB及以上 (购买链接)
- USB转TTL模块、网线:(购买链接)
2、使用DiskGenius给TF卡分区(windows主机下操作)
💡 提示:如果您手中已经是按照此教程分区过的TF卡,可以直接跳往第 3 节。
-
打开DiskGenius并选中TF卡。将TF卡插入读卡器,连接到你的PC中(建议Windows 10或Windows 11主机),打开 DiskGenius(可在ZVM官方网站 资源下载中心 获取)
图 1 在ZVM官方网站资源下载中心获取DiskGenius
图 2 打开DiskGenius并选中你的TF卡
-
执行快速分区。点击 Quick Partition(打开快速分区)。
图 3 点击Quick Partition(快速分区)
-
设置分区参数。打开快速分区对话框后按如下顺序设置,然后点击 OK。
设置项 填写内容 ①分区表类型(Partition Table Style) 选择 MBR,并保持勾选 Rebuild MBR。 ②分区数量(Partition Count) 选择 Custom,设置为 2 个分区。 ③第一分区(1) 文件系统 FAT32,大小 8 GB,卷标 ZVM,勾选 Primary。④第二分区(2) 文件系统 FAT32,大小按剩余空间自动填写,本页示例为 50 GB。 ⑤分区对齐(Align Partitions to Integral Multiples of Sectors) 勾选,选择 2048 扇区(1048576 Byte)。 表 1 DiskGenius 快速分区参数
图 4 快速分区说明
⚠️ 注意:ZVM要求第一个分区必须是8G,第二个分区大于21G,不然会导致Linux客户OS启动失败。
-
核对分区结果。加载完成后可以看到TF卡已经被划分成两个分区,完成后可以退出DiskGenius。
图 5 分区完成,TF卡已分成两个分区
3、客户OS 文件系统镜像烧录(Linux主机环境下操作)
💡 提示:如果TF卡中已经成功写入过文件系统镜像,可以直接跳往第 4 节。
-
下载并解压镜像包。打开浏览器,然后从ZVM官网 资源中心 分别下载获取对应版本的文件,注意第一个内核镜像是“鲁班猫 LubanCat-5“(共需要7个文件:6个分卷压缩包和1个解压脚本,分别为
kernel_images_lubancat.001.7z、file_system_images.001.7z、file_system_images.002.7z、file_system_images.003.7z、file_system_images.004.7z、file_system_images.005.7z和extract_all.zip)。
图 6 镜像下载说明
-
在Linux主机中创建一个文件夹:
ZVM-RK3588v2.1,按照图7目录结构将这7个文件放入该目录。
图 7 7个文件放入ZVM-RK3588v2.1目录
-
将这7个文件放入
ZVM-RK3588v2.1目录后:①先执行:unzip extract_all.zip解压出脚本;②然后执行:chmod +x ./extract_all.sh赋予脚本执行权限;③接着执行./extract_all.sh脚本进行解压;④解压完成后会得到2个文件夹:kernel_images、file_system_images。其中file_system_images文件夹中包含了我们需要烧录到TF卡的文件系统镜像和烧录脚本:auto_dd.sh。
图 8 解压得到kernel_images和file_system_images文件夹步骤
-
确认TF卡第二分区设备名。将 TF 卡插入读卡器并连接至 Linux 主机,然后进入
file_system_images目录并打开终端:①使用阅读工具打开auto_dd.sh脚本;②关注TARGET="/dev/sdb2";③接着执行lsblk命令找到 TF 卡设备;④确认 TF 卡第二个分区的设备名称是sdb2(不同 Linux 版本或不同型号的 TF 卡,设备名称可能不同,请以本机实际查找到的设备信息为准)。若 TF 卡分区不是sdb,则需修改auto_dd.sh脚本中的“TARGET”位置,使其与 TF 卡分区一致。
图 9 TF卡分区和脚本写入目标分区对应确认
-
执行写入。终端执行命令
./auto_dd.sh,等待镜像写入完成即可。实际写入速度取决于TF卡、读卡器的性能和写入镜像的数量。
图 10 执行
./auto_dd.sh写入文件系统镜像
4、准备ZVM启动镜像(Linux主机下操作)
完成第 3 节文件系统镜像的写入后,切换到到kernel_images文件中,里面包含了制作ZVM镜像所需要的所有文件和脚本,也包含了已经制作完毕的所有启动镜像,可以直接使用这个文件夹中的镜像文件,进行后面的启动操作。主要用到3个文件:nrtos_images.bin、boot.scr、zvm_release_rk3588v2.1.bin。
图 11 kernel_images文件夹中的启动镜像文件
-
写入
nrtos_images.bin。将Non-RTOS镜像包写入TF卡中(注意根据实际情况修改设备名of,使用lsblk命令确认设备名称,如/dev/sdb2):sudo dd if=nrtos_images.bin of=/dev/sdb2 bs=1M seek=1024 conv=fsync status=progress
图 12 确认设备名后写入
nrtos_images.bin -
复制启动文件。将
zvm_release_rk3588v2.1.bin和boot.scr复制到TF卡的第一个分区(演示中的TF卡命名为ZVM)。
图 13 把
zvm_release_rk3588v2.1.bin和boot.scr复制到第一分区
5、自行编译镜像(可选)
-
替换镜像源文件。
kernel_images中会包含一个raw_kernel_images文件夹,这个文件夹中包含了制作ZVM所需要的镜像源以及打包脚本,可以替换其中对应的文件,例如Linux的内核镜像Image。
图 14 raw_kernel_images中按客户OS存放的镜像源文件
-
重新打包。替换目标镜像后,返回上一级目录,进入
kernel_images文件夹,执行auto_py.sh,选项输入 3。执行完成后,当前目录下会生成新的zvm_release_rk3588v2.1.bin、boot.scr和Non-RTOS镜像包文件。
图 15 执行
auto_py.sh并选择生成镜像 -
完成后再按第 4 节“写入
nrtos_images.bin”和“复制启动文件”两个步骤重新写入镜像包文件,即可完成镜像替换。
6、开发板固件烧录(Windows操作系统下)
-
开发板准备。从Linux主机弹出TF卡,按如图16所示位置插入到TF卡槽中,准备电源、Type-C线、网线和串口接线。
图 16 开发板相关接线方法
-
下载固件镜像。在LubanCat官方资源百度网盘镜像,提取码:hslu,找到如下图所示升级固件。
图 17 在LubanCat官方网盘中下载ubuntu20.04-gnome固件
-
安装烧写工具。下载
Release_DriverAssistant.zip,解压后运行DriverInstall.exe。为了让所有设备都使用更新的驱动,请先选择驱动卸载,然后再选择驱动安装。
图 18 安装RK USB驱动
-
下载
RKDevTool_Release.zip,并运行RKDevTool.exe
图 19 打开RKDevTool
-
进入升级模式。先断开电源适配器连接,使用Type-C数据线一端连接主机,一端连接开发板 OTG 接口。
图 20 开发板相关接口和按键示意图
-
先按住设备上的 RECOVERY 键并保持,然后接上电源,观察RKDevTool窗口,有出现“发现一个LOADER设备”(英文版为“Found One LOADER Device”),松开 RECOVERY 键。
图 21 RKDevTool 提示发现一个LOADER设备
-
如果已经进行了“进入Loader模式”的操作,仍旧没有看到烧写工具提示LOADER,此时可以查看Windows主机是否有提示发现新硬件并配置驱动。打开设备管理器,会见到新设备
Rockusb Device出现,如下图。如果没有,可返回上一步重新安装驱动。
图 22 设备管理器出现Rockusb Device
-
烧写固件。打开RKDevTool具,连接设备后,先选择“升级固件”,然后点击“固件”
图 23 选择固件进行升级
-
选择下载的固件,通常为“
xx.img”格式。
图 24 选择要烧入的固件
-
点击升级,并等待。
图 25 点击升级按钮,进行升级
-
升级完成后会显示“下载固件成功”,且状态变成“没有发现设备”,完成后开发板断电。
图 26 升级完成示意图
-
烧录UBoot。下载uboot,解压到主机后,记住解压的位置。参考第 6 节的“进入升级模式”步骤,重新进入升级模式,然后点击“设备分区表”读取分区。
图 27 分区读取点击示意图
-
点击“是”,下载新的分区地址表。
图 28 分区地址表下载示意图
-
有弹出一些不存在的分区,直接点击右上角关闭即可。
图 29 部分不存在分区示意图
-
然后会显示读取分区成功,点击“确定”。
图 30 读取分区成功示意图
-
先根据右边分区表,核对左边uboot的地址是否一致,以及前面只勾选了uboot,然后点击后方②所示位置,选择路径。
图 31 uboot地址核对和路径选择示意图
-
选择最开始下载解压的uboot。
图 32 uboot选择示意图
-
再次核对路径、uboot地址后,点击执行。
图 33 执行uboot烧录示意图
-
烧录成功会显示“下载完成”,且状态变成“没有发现设备”,完成后开发板断电。。
图 34 uboot烧录成功示意图
-
进入 U-Boot 命令行。将串口USB端连接Windows 10或Windows 11主机,打开 MobaXterm 软件(下载链接),在 MobaXterm 中选择 Session → Serial,在 Serial port 中选择电脑识别到的串口,将 Speed (bps) 设为
1500000,点击 OK 打开串口。
图 35 选择串口端口,设置波特率为
1500000,点击OK⚠️ 注意:上电前,板卡请连接网线接入局域网,不然ZVM没法初始化网卡导致启动异常。
-
打开串口终端后,选择中断窗口先按
Ctrl+C,然后重新给开发板上电。看到<INTERRUPT>且最后停在可输入命令的=>提示符时,表示已进入 U-Boot 命令行,此时松开按键。
图 36 进入U-Boot命令行
7、启动ZVM
-
在Uboot命令行输入ZVM启动命令:
run distro_bootcmd。💡 提示:如果板卡不支持该命令,可以使用以下替代命令手动加载:
mmc list; mmc dev 1; fatload mmc 1:1 0x00c00000 boot.scr; source 0x00c00000 -
输入命令后按下回车键,ZVM即正常启动(如图37所示),启动时间取决于板卡和TF卡性能。
图 37 ZVM启动后的串口界面
⚠️ 注意:如果启动失败,一般是板卡固件不匹配,请参考第 6 节重刷固件;如若一直失败,请私下或在ZVM技术交流群中联系ZVM团队成员获取帮助。
8、部署后的使用教程
| 项目名称 | 链接地址 |
|---|---|
| VisualZVM的使用指南 | http://esnl.hnu.edu.cn/zvm/features/visual-zvm-v2.1.html |
| 基于VisualZVM的自动化测试系统 | http://esnl.hnu.edu.cn/zvm/features/auto-test-v2.1.html |
祝您开发愉快!✨