Qemu 启动 OpenEuler24.03(riscv64)

本文使用 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 为例:

  1. 新建一个 SSH session
  2. 在 Remote host 中填入 127.0.0.1,在 Specify username 中指定 root,Port 设置为 12055
  3. 然后通过该 session 即可连接到 Qemu 启动的虚拟机中(前提:已经使用 Qemu 启动 VM)
  4. 通过 MobaXterm 创建 ssh 连接,也可以互相传输文件等
相关推荐
张世争11 小时前
RT-Thread qemu LVGL9.5 鼠标 indev 驱动更新 lv_port_indev.c
qemu·rt-thread·indev·lvgl9.5
神秘的土鸡1 天前
openEuler 安全加固与性能实测: SELinux,防火墙等多维防护实践
网络·安全·apache·openeuler
江池俊2 天前
在openEuler上构建高性能LNMPR应用栈:一次深入实战与测评
redis·openeuler
洁洁!2 天前
openEuler镜像获取与分发性能深度测试
openeuler
张世争2 天前
RT-Thread bsp qemu-vexpress-a9 编译环境
qemu·rt-thread·编译
神秘的土鸡3 天前
openEuler 25.09 企业级 MySQL主从复制部署与性能优化实战提升50%
linux·数据库·mysql·性能优化·openeuler
todoitbo3 天前
openEuler 云原生实战:Docker Compose 部署 Nextcloud 企业级私有云
docker·云原生·容器·openeuler