ZVM-E2000 v2.1发行版部署文档
一、ZVM-E2000v2.1简介
ZVM-E2000v2.1发行版是一款面向飞腾E2000处理器芯片的ZVM定制化版本,于2026年6月发布。其介绍如下:
(1)支持板卡与镜像说明
本节说明ZVM-E2000v2.1发行版支持的板卡、镜像下载入口和板卡适配文件的替换方式。
支持板卡列表
| 序号 | 板卡名称 | 说明 |
|---|---|---|
| 1 | 飞腾派E2000Q | 默认支持板卡,直接使用ZVM发行版镜像包中的镜像即可运行 |
公共镜像
(2)灵活的多OS混合部署方式
支持同时启动多达3个客户OS。
| 客户OS | Zephyr | FreeRTOS | Linux | 是否支持AMP |
|---|---|---|---|---|
| 可分配核数 | 1/2 | 1 | 1/2 | |
| 内存大小 | 32MB | 32MB | 512MB | × |
(3)灵活的多核OS支持
E2000为4核处理器,ZVM默认占用0核,客户OS可自主选择部署在其余的FT862核心上:
| 处理器型号 | 核号 | 分配说明 |
|---|---|---|
| FTC310 | 0、1 | ZVM |
| FTC664 | 2、3 | 客户OS灵活部署 |
(4)灵活的外设共享
支持外设完全虚拟化、半虚拟化等多种共享方式,解决复杂系统外设资源分配冲突问题:
| 序号 | 类别 | 支持的外设 |
|---|---|---|
| 1 | 完全虚拟化外设 | UART |
| 2 | 半虚拟化外设(VirtIO) | SDMMC(Ramdisk)、XMAC |
二、ZVM-E2000v2.1 部署教程
一、准备硬件
1.1 硬件清单
1.2 启动准备
ZVM-E2000 v2.1新增了TF卡启动方式,用户无需再使用TFTP启动,首先要做TF卡启动准备。飞腾Pi E2000开发板支持两种启动模式:
- TF卡启动
- EMMC启动
- 注意:飞腾Pi E2000开发板必须要用任一存储介质,且其中烧录了至少一种官方系统镜像,否则开发板上电后将完全无法启动。
这里我们以TF卡启动为例。
首先按照飞腾派的官方文档,在TF卡中烧录飞腾官方任意Linux系统镜像,确保开发板可以正常启动。烧录好镜像的TF卡使用DiskGenius查看如下图所示:
可以看到TF卡中会存在一个EXT4分区,这个就是飞腾派 E2000开发板的官方启动分区,用于存储系统。还有一段空闲空间,我们要做的就是使用空闲空间创建一个ZVM启动分区。
首先选中空闲空间,右键选择“新建分区”,创建一个FAT32分区,大小建议为1GB以上,分区类型选择“主分区”,分区标记可以随意填写。如图所示:
点击“确定”后,点击“保存更改”,DiskGenius会提示是否保存更改,点击“是”即可。
提示是否格式化分区,点击“是”即可。
到此处,TF卡的ZVM启动分区就创建好了,接下来我们就可以将ZVM启动镜像复制到这个分区中。
二、获取ZVM镜像与软件
2.1 ZVM镜像
从ZVM官方网站镜像下载中心获取完整启动镜像。
ZVM镜像位于 zvm_release/e2000 目录下:
| 文件名 | 说明 |
|---|---|
| zephyr_e2000_cX_m32.bin | Zephyr GuestOS镜像 |
| freertos_e2000_c1_m32.bin | FreeRTOS GuestOS镜像 |
| Image_v5.15 | Linux 内核镜像 |
| linux_e2000q.dtb | 设备树文件 |
| initramfs_e2000.cpio.gz | Initramfs 根文件系统 |
| zvm_release_e2000v2.1.bin | zvm_release_e2000v2.1启动镜像 |
| boot.scr | U-Boot启动引导文件 |
2.2 VisualZVM
VisualZVM_V2.1适用于 Windows 7/10/11 x86_64。
从ZVM官方网站镜像下载中心可以下载VisualZVM软件包。
三、准备启动镜像
3.1 全部使用ZVM-E2000发行版镜像
ZVM-E2000 v2.1发行版完整镜像内置如下客户OS:
| 客户OS镜像 | 多核支持 | CPU域 | 内存大小 |
|---|---|---|---|
| Linux | 1-2核 | CPU1 | 512M |
| Zephyr RTOS | 1-2核 | CPU2-3 | 32M |
| FreeRTOS | 仅支持单核 | CPU2-3 | 32M |
全部使用ZVM-E2000 v2.1发行版镜像可直接跳转至第四步。
3.2 用户自行编译客户OS
详见 客户OS编译指南,完成重新编译镜像后再执行第四步。
四、启动ZVM
4.1 硬件连接
- 将网线连接开发板(ZVM-E2000 v2.1发行版不支持二者的热插拔,需要启动前插好)
- 启动前先将zvm_release_e2000v2.1.bin和boot.scr直接放入TF卡的第二分区(飞腾Pi E2000不支持TF卡热插拔,启动前应先把文件放入并插上TF卡,否则开发板将无法启动)
-
通过USB转串口连接调试终端(此处飞腾派波特率为115200)
4.2 使用VisualZVM启动ZVM
-
启动VisualZVM 位于VisualZVM软件包
./VisualZVM_V2.1.exe -
进入VisualZVM串口控制台
选择Guest OS \ 交互
选择端口 \ 设置波特率115200 \ 打开串口 \ 长按[长按烧录]按钮/长按Ctrl + C \ 开发板上电
输出:
Hit any key to stop autoboot: 0 Phytium-Pi#<INTERRUPT Phytium-Pi#<INTERRUPT Phytium-Pi#<INTERRUPT Phytium-Pi# -
使用TF卡启动
在Shell中输入以下命令,通过U-Boot启动:
mmc dev 0 && load mmc 0:2 0xf5000000 /boot.scr && source 0xf5000000U-Boot启动时间从装载到启动在15秒左右。
待输出ZVM Logo后,按下Enter,见到
zvm_host:~#表示启动完毕,已经进入ZVM控制台:
4.3 不使用VisualZVM
-
使用终端工具连接串口,以MobaXterm为例
选择 Session \ Serial \ 选择Serial port \ 设置波特率115200 \ 打开串口
- 启动前先将zvm_release_e2000v2.1.bin和boot.scr直接放入TF卡的第二分区(飞腾Pi E2000不支持TF卡热插拔,启动前应先把文件放入并插上TF卡,否则开发板将无法启动)
-
进入U-Boot
长按Ctrl + C \ 开发板上电
输出:
Hit any key to stop autoboot: 0 Phytium-Pi#<INTERRUPT Phytium-Pi#<INTERRUPT Phytium-Pi#<INTERRUPT Phytium-Pi#<INTERRUPT Phytium-Pi#<INTERRUPT Phytium-Pi# -
使用TF卡启动
在Shell中输入以下命令,通过U-Boot启动:
mmc dev 0 && load mmc 0:2 0xf5000000 /boot.scr && source 0xf5000000U-Boot启动时间从装载到启动在15秒左右。
待输出ZVM Logo后,按下Enter,见到
zvm_host:~#表示启动完毕,已经进入ZVM控制台:
五、运行客户OS
5.1 VisualZVM方式
ZVM发行版提供PC端可视化工具VisualZVM,与控制器端ZVM通过以太网连接,内置ZVM串口控制台,支持客户OS全生命周期管理与运行态动态监控。
使用方式见 VisualZVM 使用指导
5.2 命令行方式
创建、运行、交互客户OS示例:
-
创建单核内存大小为32M的Zephyr
zvm create -t zephyr -c 1 -m 32 -
可看到Zephyr客户OS的ID为0
[ZVM INFO]: |*********************************************| [ZVM INFO]: |****** Create VM Successful! ******| [ZVM INFO]: |****** VM INFO ******| [ZVM INFO]: |****** VM-NAME: zephyr_os-0 ******| [ZVM INFO]: |****** VM-ID: 0 ******| [ZVM INFO]: |****** VCPU NUM: 1 ******| [ZVM INFO]: |****** VMEM SIZE: 128 (M) ******| [ZVM INFO]: |*********************************************| -
运行这个客户OS
zvm run -n 0 -
进入虚拟串口控制台
zvm_host:~#zvm look 0 Connecting VM ID:0 uart:~#kernel version Zephyr version 4.0.0 uart:~# -
按
Ctrl + X退出uart:~#disconnect zvm_host:~# -
更多操作输入
zvm查看zvm_host:~#zvm zvm - ZVM manager command. Some subcommand you can choice as below: Subcommands: create : Create a vm. You can use 'zvm create -t zephyr' or 'linux' to create a new vm. new : Deprecated, Same as command create, keep it for backward compatibility. You can use 'zvm new -t zephyr' or 'linux' to create a new vm. run : Run a created vm. You can use 'zvm run -n 0' to run vm with vmid equal to 0. pause : Pause a vm. You can use 'zvm pause -n 0' to pause vm with vmid equal to 0. delete : Delete a vm. You can use 'zvm delete -n 0' to delete vm with vmid equal to 0. info : List all vm info. You can use 'zvm info' to list all vm info. You can use 'zvm info -n 0' to list vm info with vmid equal to 0. update : Update vm. vm update is not supported now. manager : Manager vm. You can open the ZVM management software on the PC. tcpreload : Manager vm. You can restart the sockets between ZVM management software on the PC and ZVM. look : Switch virtual serial. You can use 'zvm look 0' to connect available virtual serial.
三、ZVM特性试用
(1)内置VirtIO框架
详见 VirtIO使用手册
(2)跨域高速通信Zshm
详见 Zshm使用手册