飞腾派
本文档介绍如何在飞腾派(Phytium Pi)开发板上启动和验证 AxVisor 项目。在飞腾派开发板环境中,AxVisor 支持同时启动运行多个客户机操作系统,以下将启动 ArceOS 和 Linux 两个客户机操作系统。
环境要求
硬件要求
- 串口线:用于连接开发板和主机,进行调试和日志输出
- 以太网线:用于网络通信和镜像传输
- MicroSD 卡:可选,用于启动和存储系统镜像(建议 Class 10 或更高速度)
- USB 数据线:用于连接主机和开发板,进行镜像烧录
软件要求
- Linux 主机系统:推荐使用 Ubuntu 20.04 或更高版本,用于构建和烧录
- Rust 开发环境:根据 Rust 官网介绍安装 Rust 开发环境,然后参考项目根目录的
rust-toolchain.toml文件安装指定的编译工具链 - Git:用于克隆源代码仓库
- 构建工具:确保系统已安装基本的构建工具(如 make、gcc 等)
前期准备
在开始构建和启动 AxVisor 之前,需要完成以下准备工作:
开发板环境准备
- 在使用下面步骤启动 axvisor 前,开发板中应已有可正常运行的 linux 系统
- uboot 应具有 loady 功能,
准备 AxVisor 源码
首先,需要使用 git clone https://github.com/arceos-hypervisor/axvisor.git 命令获取 AxVisor 的源代码并创建工作目录。然后,在 AxVisor 源码目录中创建一个 tmp 目录,用于存放配置文件和客户机镜像。
cd axvisor
# 创建工作目录
mkdir -p tmp/{configs,images}
准备开发工 具
ostool 是一个专为操作系统开发而设计的 Rust 工具集,旨在为 OS 开发者提供便捷的构建、配置和启动环境。使用 ostool 启动 axvisor 后镜像不会保留,重启开发板将启动开发板固件中系统
# 下载ostool工具
cargo install ostool
准备设备树文件
使用 ostool 工具启动 axvisor 需要开发板设备树,设备树文件可通过在开发板上运行linux系统导出,也可下载项目提供的设备树文件使用。
在提供的 Linux 镜像文件夹中包含设备树文件,可直接使用,这里下载到我们创建的 tmp/images 目录。
# 下载 Linux 镜像
cargo xtask image download phytiumpi_linux --output-dir tmp/images
# 列出所有可用镜像
cargo xtask image ls
准备客户机镜像
为了便于验证 AxVisor 的功能,AxVisor 项目提供了预构建的客户机镜像,并在 AxVisor 构建系统中集成了客户机镜像管理功能,使用 cargo xtask image 相关命令就可以查看及下载客户机镜像。这里我们直接将适用于 QEMU AArch64 的客户机镜像下载到我们创建的 tmp/images 目录即可。
# 下载 ArceOS 镜像
cargo xtask image download phytiumpi_arceos --output-dir tmp/images
# 下载 Linux 镜像
cargo xtask image download phytiumpi_linux --output-dir tmp/images
# 列出所有可用镜像
cargo xtask image ls
AxVisor 所支持的客户机镜像的构建脚本和构建产物可以在 axvisor-guest 仓库中找到。
准备开发板配置文件
开发板配置文件定义了 AxVisor 在飞腾 E2000 硬件平台上的基本运行参数。配置文件位于 configs/board/phytiumpi.toml,我们直接使用这个配置文件,不需要改动。直接将开发板配置文件复制到 tmp/configs 目录即可。
# 复制开发板配置文件
cp configs/board/phytiumpi.toml tmp/configs/