ZVM-RK3588v2.1发行版部署指南(脚本方式)
ZVM-RK3588v2.1 支持通过脚本快速部署。运行部署脚本后,可自动下载所需镜像并将 ZVM 刷写至 TF 卡,无需手动下载和写入镜像。
1 ZVM-RK3588v2.1简介
ZVM-RK3588v2.1发行版是一款面向瑞芯微RK3588处理器芯片的ZVM定制化版本,于2026年5月发布。其介绍如下:
1.1 灵活的多OS 混合部署方式
支持同时启动多达7个客户OS。
| 客户 OS | Zephyr | FreeRTOS | Nuttx | Linux | Android | OpenHarmony | Ubuntu | openEuler |
|---|---|---|---|---|---|---|---|---|
| 可分配的核数 | 1/2/3/4核 | 1核 | 1/2/3/4核 | 1/2/3/4核 | 1核 | 1核 | 1核 | 1/2/3/4核 |
| 内存大小 | 32M | 128M | 128M | 512/1024M | 1024M | 1024M | 512/1024M | 512/1024M |
| 是否支持AMP | ✓ | × | ✓ | ✓ | × | × | ✓ | ✓ |
1.2 灵活的多核 OS支持
RK3588为8核处理器,ZVM默认占用0核,客户OS可自主选择部署在A55与A76的核心上:
| 处理器型号 | 核号 | 分配说明 |
|---|---|---|
| Cortex-A55 | 0 | ZVM |
| Cortex-A55 | 1~3 | 客户OS灵活部署 |
| Cortex-A76 | 4~7 | 客户OS灵活部署 |
1.3 灵活的外设共享
支持外设完全虚拟化、半虚拟化、单根虚拟化等多种共享方式,解决复杂系统外设资源分配冲突问题:
| 序号 | 类别 | 支持的外设 |
|---|---|---|
| 1 | 完全虚拟化外设 | UART、CRU、SYSCON、PMU、GPIO、SPI、I2C等 |
| 2 | 半虚拟化外设(VirtIO)外设 | NIC、SDMMC、GPIO、I2C等 |
| 3 | 单根虚拟化(SR-IOV)外设 | NIC等(高级定制化支持) |
1.4 Guest OS 文件系统支持
| 客户 OS | 支持的文件系统(使用说明) | 支持的文件传输协议(使用VisualZVM传输文件) | 支持的远程控制协议 |
|---|---|---|---|
| Zephyr | Ext2 | SCP | 不支持 |
| Ubuntu | Ext4 | SFTP、SCP | SSH |
| Buildroot | Ext4 | SFTP、SCP | SSH |
| openEuler | Ext4 | SFTP、SCP | SSH |
2 ZVM-RK3588v2.1 部署教程
2.1 准备硬件
- 开发板:ROC-RK3588S-PC (购买链接)(需要8G内存版本,不然第二个以后的Linux无法正常启动)
- 读卡器、TF卡:32GB及以上 (购买链接)
- USB转TTL模块、网线:(购买链接)
2.2 在 Windows 中制作 TF 卡
点击任务栏的 开始键(或按 Win 键),直接输入 powershell 搜索,在搜索结果中选择 “以管理员身份运行”(英文界面为 Run as Administrator),并在系统提示中允许打开。确认窗口标题包含“管理员”或“Administrator”。
图 1 点击开始键、输入 powershell、选择“以管理员身份运行”
复制下面整行命令,在管理员窗口内的任意位置点击右键即可粘贴(也可以按 Ctrl + V),粘贴完成后按回车:
irm 'https://gitee.com/johhz/zvm_release_files/raw/main/start.ps1' | iex
图 2 在管理员窗口内右键或按 Ctrl + V 粘贴命令后按回车
命令会下载并启动部署脚本。看到“ZVM RK3588 v2.1 · SD 卡制作”菜单后,继续在这个管理员窗口内完成后续操作。
图 3 运行启动命令后显示部署菜单
3 使用 Windows 部署 ZVM 到 TF 卡
3.1 选择操作和系统
(1)选择制作 SD 卡
菜单提供“下载所选资源并制作 SD 卡”“仅下载、解压所选资源”和“查看已接入的磁盘”。输入对应编号;输入 q 退出。
首次制作 TF 卡时,选择菜单中的 “1. 下载所选资源并制作 SD 卡”并回车,脚本随后会列出可选系统。
图 4 在“请选择操作”后输入 1,即“下载所选资源并制作 SD 卡”
(2)选择 rootfs
脚本列出可选系统。可以用逗号分隔多个编号,也可以输入 a 选择全部 rootfs。本例输入 a,一次性写入全部 rootfs。
图 5 选择需要写入的 rootfs,输入 a 选择全部 rootfs
3.2 选择目标 TF 卡
查看脚本列出的磁盘编号、型号、序列号和容量,输入对应的 Number。此处输入 2。
图 6 按名字和容量判断 TF 卡编号,核对型号、序列号、容量后输入对应的 Number
使用容量至少 32GB、逻辑扇区大小为 512 字节的 TF 卡。
3.3 写入进度与制作完成
(1)等待镜像写入完成
脚本创建 MBR 双分区,第一分区用于 boot.scr 和 ZVM 启动镜像;第二分区起点为 8202MiB,一直延伸到卡的末尾,用于保存 Non-RTOS 镜像和所选 rootfs。脚本随后开始清空并创建 MBR 分区表、格式化分区;此过程中 Windows 会弹出 AutoPlay 提示并识别到新的 ZVM 分区,无需理会,保持终端运行即可。
图 7 开始分区;Windows 弹出 AutoPlay 提示并识别到 ZVM 分区,无需理会
终端会逐项显示镜像名称、写入位置以及已写入的数据量。等待全部镜像写入完成。终端中会显示绿色“制作完成”提示。
图 8 全部镜像写入完成,终端显示绿色“制作完成”提示
(2)取出 TF 卡
完成上述操作后,在 Windows 中安全弹出读卡器,然后取出 TF 卡。按以下步骤连接开发板、上电启动 ZVM,再连接客户 OS。
3.4 开发板上电启动ZVM
(1)开发板准备
⚠️ 注意:上电前,板卡请连接网线接入局域网,不然ZVM没法初始化网卡导致启动异常。
从Linux主机弹出TF卡,按如图15所示位置插入到TF卡槽中,准备电源和串口接线,将串口USB端连接Windows 10或Windows 11主机。
图 15 开发板相关接线方法
(2)进入 U-Boot 命令行
打开 MobaXterm 软件,在 MobaXterm 中选择 Session → Serial,在 Serial port 中选择电脑识别到的串口,将 Speed (bps) 设为 1500000,点击 OK 打开串口。
图 16 选择串口端口,设置波特率为 1500000,点击 OK
打开串口终端后,再给开发板上电,上电的同时按 Ctrl+C。看到 <INTERRUPT> 且最后停在可输入命令的 => 提示符时,表示已进入 U-Boot 命令行,此时松开按键。
图 17 查看是否有初始固件
💡 提示:如果板卡中有初始固件,即开发板上电的同时按Ctrl+C可以进入U-Boot 命令行(如图17所示),下面重刷固件可以跳过
若无法进入U-Boot命令行,需重刷固件。以ROC-RK3588S-PC开发板为例:在firefly官方的资源下载处(https://community.t-firefly.com/en/doc/download/164)找到的Android14.0固件,下载后根据官方教程进行统一固件升级(https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/upgrade_firmware.html)。
图 18 在Firefly官方资源下载处选择Android14.0固件
⚠️ 注意:每个板卡都有自己的固件和uboot,各个厂商的固件不同,请参考各厂商官方文档进行固件烧录;其他板卡虽然同样基于RK3588开发,但各家厂商的固件不一定通用,可能存在启动失败的风险。如果启动失败,请联系ZVM技术人员。
(3)启动ZVM
在Uboot命令行输入ZVM启动命令:run distro_bootcmd。
💡 提示:如果板卡不支持该命令,可以使用以下替代命令手动加载:
输入命令后按下回车键,ZVM即正常启动(如图17所示),启动时间取决于板卡和TF卡性能。
图 19 ZVM启动后的串口界面
⚠️ 注意:如果启动失败,一般是板卡固件不匹配,请参考2.5重刷固件;如若一直失败,请私下或在ZVM技术交流群中联系ZVM团队成员获取帮助。
4 部署后的使用教程
| 项目名称 | 链接地址 |
|---|---|
| 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 |
祝您开发愉快!✨