本文使用 WSL2 Ubuntu22.04虚拟机
一、安装 Qemu
QEMU 从 7.2.0 版本之后移除了 slirp 子模块,会影响用户模式的网络功能,需要提前加上依赖包和配置选项。 编译时增加 --enable-slirp
官网:https://github.com/qemu/qemu
shell
## 1. 进入源码文件夹
cd qemu # 这里的qemu替换成自己的qemu源码文件夹
## 2. 配置目标平台并指定安装路径
## 可选配置 --target-list=riscv64-softmmu,riscv64-linux-user --prefix=/opt/qemu
./configure --enable-slirp
## 3. 编译安装
make -j8 # 编译
sudo make install # 安装到 --prefix 指定的路径下
二、下载 OpenEuler 相关文件
https://www.openeuler.org/zh/download/?version=openEuler 24.03 LTS
选择
- 架构:riscv64
- 场景:云计算
把该页的 RISCV_VIRT_CODE.fd、fw_dynamic_oe_2403_penglai.bin 等所有的文件下载下来放到同一个文件夹中,进入该文件夹
shell
使用默认参数启动 Qemu 虚拟机,进入一个终端
bash ./start_vm.sh
自下载页面获取的启动脚本
- start_vm.sh: 默认脚本,需要手动安装桌面。
- start_vm_penglai.sh:蓬莱 TEE 功能支持脚本。
脚本可变参数: - ssh_port:本地 SSH 转发端口,默认为 12055。
- vcpu:QEMU 执行时线程数量,默认为 8 核心,可随需要调整。
- memory:QEMU 执行时分配内容数量,默认为 8GiB,可随需要调整。
- fw: 为启动固件 payload。
- drive:虚拟磁盘路径,可随需要调整。
- bios(可选): 启动固件,可以用来装载使能了 penglai TEE 的固件。
用户名:root
密码:openEuler12#$
SSH 登录
start_vm.sh 中默认使用 12055 端口
使用 SSH 登录的相关信息如下:
- IP:127.0.0.1
- 端口:12055
- 用户名:root
- 密码:openEuler12#$
以 MobaXterm 为例:
- 新建一个 SSH session
- 在 Remote host 中填入 127.0.0.1,在 Specify username 中指定 root,Port 设置为 12055
- 然后通过该 session 即可连接到 Qemu 启动的虚拟机中(前提:已经使用 Qemu 启动 VM)
- 通过 MobaXterm 创建 ssh 连接,也可以互相传输文件等