返回首页

ZVM-RK3568v2.1发行版部署指南

一、ZVM-RK3568v2.1简介

ZVM-RK3568v2.1发行版是一款面向瑞芯微RK3568处理器芯片的ZVM定制化版本,于2026年6月发布。其介绍如下:

(1)支持板卡与镜像说明

本节说明ZVM-RK3568v2.1发行版支持的板卡、镜像下载入口和板卡适配文件的替换方式。

支持板卡列表

序号 板卡名称 说明
1 LuBancat rk3568 需要替换zvm_release_rk3568v2.1.bin和boot.scr,如果替换后启动失败,需要替换uboot.img

本文使用的镜像分为公共镜像和非公共镜像。公共镜像提供通用发行版内容;非公共镜像用于适配特定板卡,主要包含ZVM针对板卡硬件差异做的少量修改,例如网卡频率修改、启动脚本文件。

公共镜像

序号 镜像名称 下载链接
1 ZVM发行版镜像包ZVM-RK3568v2.1 官方下载地址
2 可视化管理软件VisualZVMv2.1 官方下载地址

使用方式(以LuBanCat RK3568为例:)

  1. (1)先下载并解压公共镜像包。
  2. (2)若使用默认支持板卡鲁班猫-RK3568-PC,直接使用公共镜像包中的文件。
  3. (3)按照指南后续步骤开始部署。

ZVM-RK3568v2.1发行版功能总览如下:

(2)灵活的多OS 混合部署方式

支持多客户OS混合部署;具体可同时启动数量需结合RK3568板卡内存、核数与镜像配置确认。

客户OS Zephyr FreeRTOS Linux
可分配的核数 1/2/3核 1核 1/2核
内存大小 128M 128M 512M

(3)灵活的多核 OS支持

RK3568为4核Cortex-A55处理器,ZVM默认占用0核,客户OS可自主选择部署在其余A55核心上:

处理器型号 核号 分配说明
Cortex-A55 0 ZVM
Cortex-A55 1~3 客户OS灵活部署

(4)灵活的外设共享

支持外设完全虚拟化、半虚拟化、单根虚拟化等多种共享方式,解决复杂系统外设资源分配冲突问题:

序号 类别 支持的外设
1 完全虚拟化外设 UART、GPIO、I2C等
2 半虚拟化外设(VirtIO) NIC、SDMMC、GPIO、I2C等

二、ZVM-RK3568v2.1 部署教程

1. 准备硬件

主板连线如下

2. 使用DiskGenius给TF卡分区(windows主机下操作)

💡 提示:如果您手中已经是按照此教程分区过的TF卡,可以直接跳往第3步。

将TF卡插入读卡器,连接到你的PC中,打开DiskGenius(ZVM官网资源中心可以免费获取)

下载安装完成后打开DiskGenius,选中你的TF卡

点击Quick Partition (快速分区)

按照以下选项操作,然后点击OK(注意:ZVM要求第一个分区必须是8G,第二个分区大于21G,不然会导致Linux客户OS启动失败;)

加载完成后可以看到TF卡已经被划分成两个分区,完成后可以退出DiskGenius

3. 客户OS 文件系统镜像烧录(Linux主机下操作)

💡 提示:如果TF卡中已经成功写入过文件系统镜像,可以直接跳往第4步。

将TF卡插入读卡器,连接到Linux主机,从ZVM官网资源中心

下载页面分别下载获取对应版本的文件,执行extract_images.sh

到2个文件夹:kernel_images、file_system_images,其中file_system_images文件夹中包含了我们需要烧录到TF卡的文件系统镜像和烧录脚本:auto_dd.sh(也可以自行编译文件系统进行替换)。

然后进入file_system_images目录打开终端,执行命令df或lsblk命令找到设备,这里TF卡的第二个分区设备名称是sdd2(不同版本的Linux或者不同型号TF卡设备名称不一定相同,以自己主机查找到的设备信息为准)

确认显示的设备名称和位置,根据自己的设备信息修改脚本中的TARGET项。脚本文件auto_dd.sh内容如下图所示,根据你的需要可以自定义seek位置和文件系统镜像名称等。ZVM默认一个块大小是3GB,需要每隔3GB写入,否则可能导致写入的文件系统损坏,也可以根据需要修改写入镜像的数量。

⚠️ 注意

第一:请务必确认of后的设备名称正确,否则可能会误写入其他磁盘导致数据丢失。

第二:请务必确认TF卡第二个分区有足够的空间存放这些文件系统镜像,如果TF卡容量较小,可以将写入的镜像数量减少,只要注释掉对应的写入命令即可,否则可能导致写入失败或者文件系统损坏。

⚠️ 重要提示

ZVM新增了Guest运行记录保存功能,会将运行过且未删除的Guest信息保存到TF卡第二个分区的前3GB空间中。当设备因异常导致断电或者重启后,再次运行ZVM可以直接从TF卡加载这些记录来重新创建并运行相同的Guest。因此在TF卡写入镜像时需要将第二个分区的前3GB预留,第一个seek要从3GB(seek=3072)开始。

执行命令./auto_dd.sh,等待镜像写入完成即可,实际写入速度取决于TF卡、读卡器的性能和写入镜像的数量。或者按照脚本中的格式,手动在终端执行dd命令单独写入某一个镜像,手动执行dd命令前同样需要先使用df或lsblk命令查看自己的设备名称。

4.准备ZVM启动镜像(Linux主机下操作)

如果你已经完成了第3步文件系统镜像的写入,那么接下来就可以准备ZVM的启动镜像了。我们回到kernel_images文件中,里面包含了制作ZVM镜像所需要的所有文件和脚本,也包含了已经制作完毕的所有启动镜像,可以直接使用这个文件夹中的镜像文件,进行后面的启动操作。主要用到3个文件:nrtos_images.bin、boot.scr、zvm_release_rk3568v2.1.bin。

4.1 写入nrtos_images.bin

将Non-RTOS镜像包写入TF卡中(注意根据实际情况修改设备名of,使用df或者lsblk命令确认设备名称,如/dev/sdd2):

4.2 复制启动文件

将zvm_release_rk3568v2.1.bin和boot.scr复制到TF卡的第一个分区(演示中的TF卡命名为ZVM)。

复制完成后弹出TF卡,插入对应的开发板中,开发板上电的同时按Ctrl+C阻止进入autoboot,然后在命令行输入ZVM启动命令:run distro_bootcmd

💡提示:如果板卡不支持该命令,可以使用以下替代命令手动加载:

mmc list; mmc dev 1; fatload mmc 1:1 0x00c00000 boot.scr; source 0x00c00000

ZVM就能正确启动啦,启动时间取决于板卡和TF卡性能。

4.3 自行编译镜像(可选)

kernel_images中会包含一个raw_kernel_images文件夹,这个文件夹中包含了制作ZVM所需要的镜像源以及打包脚本,可以替换其中对应的文件,例如Linux的内核镜像Image,然后使用打包脚本制作您专属的ZVM guest镜像。

我们回到上一级目录,进入kernel_images文件夹,执行auto_py.sh,输入3生成ZVM镜像、启动boot.scr和Non-RTOS镜像包。

执行完成后会在当前目录下生成新的zvm_release_rk3568v2.1.bin、boot.scr和Non-RTOS镜像包文件。

完成后再按照4.1的步骤进行镜像包文件烧录,即可完成镜像替换。

4.4 鲁班猫RK3568使用USB线缆更换uboot(可选)

鲁班猫RK3568开发板默认uboot只能进入到默认的uboot环境,例如Lubancat 官方提供的Ubuntu或安卓系统。

因此我们制作了替换uboot文件,使用我们提供的uboot文件可以让您的开发板上电后自动查找并启动TF卡中的ZVM启动镜像文件。

⚠️ 注意

我们的uboot只支持在安卓固件环境下进行替换,如果您的开发板当前uboot环境是Ubuntu或者其他Linux系统,那么需要先将开发板刷入安卓系统的uboot环境后才能进行替换操作,具体操作可以参考Firefly官方网站中的相关的刷机教程。

在鲁班猫官方的资源下载处找到的Android固件,根据教程进行固件升级后,即可使用我们提供的uboot文件。

如果您需要替换开发板的uboot,可以按照以下步骤操作:

4.4.1 准备工具
  • 鲁班猫RK3568开发板 - 用于进行uboot更换操作
  • uboot - 压缩包中提供,放在file_system_images目录下
  • 主机 - 用于运行烧写工具
  • 良好的Type-C数据线 - 用于连接主机和开发板
4.4.2 准备uboot

uboot镜像已经放入压缩包中,解压后即可获取uboot.img文件。

4.4.3 安装烧写工具

Windows操作系统

  • 安装RK USB驱动
  • 下载Release_DriverAssistant.zip,解压后运行DriverInstall.exe。为了让所有设备都使用更新的驱动,请先选择驱动卸载,然后再选择驱动安装。
  • 运行AndroidTool的RKDevTool.exe
4.4.4 进入升级模式

通常我们升级uboot的模式有两种,分别是Loader模式和MaskRom模式。烧写uboot前,我们需要连接好设备,并让板子进入到可升级模式。

4.4.4.1 硬件方式进入Loader模式

连接设备并通过RECOVERY按键进入Loader升级模式步骤如下:

  • 先断开电源适配器连接
  • 使用数据线一端连接主机,一端连接开发板
  • 按住设备上的 RECOVERY(恢复)键并保持
  • 接上电源
  • 大约两秒钟后,松开 RECOVERY 键
4.4.4.2 软件方式进入Loader模式

数据线接好后,在串口调试终端或adb shell给板子运行以下命令:reboot loader

4.4.4.3 查看Loader模式

如何确定板子是否进入Loader模式,我们可以通过工具去查看。

Windows操作系统

通过AndroidTool工具可以看到下方提示Found One LOADER Device。

如果已经进行了“进入Loader模式”的操作,仍旧没有看到烧写工具提示LOADER,此时可以查看Windows主机是否有提示发现新硬件并配置驱动。打开设备管理器,会见到新设备Rockusb Device出现,如下图。如果没有,可返回上一步重新安装驱动。

4.4.5 烧写uboot

在进入Loader模式后,我们可以使用AndroidTool工具来烧写uboot文件。

打开AndroidTool工具,连接设备,在下载镜像页面中选中uboot这一行并打勾,然后点击最右侧的小框选择到新的uboot文件:

点击执行按钮后会开始烧写uboot文件,烧写过程只需要几秒,烧写完成后右侧提示框会显示下载完成。

烧写完成后,重启板子即可使用新的uboot文件,如果您的板子没有自动重启,请手动重启板子。此时如果您的TF卡中已经有了ZVM启动镜像,则会直接自动启动并进入ZVM界面。

祝您开发愉快!✨

三、部署后的使用教程

项目名称 链接地址
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