在linux上搭建qemu虚拟机运行risc-v版deepin

参考文章

https://deepin-community.github.io/sig-deepin-ports/docs/test/deepin-25-crimson-immutable-riscv64-20250625-171832.iso

一、环境准备

安装相关软件和依赖

# 本体
sudo apt install qemu-system-misc
# opengl 模块
sudo apt install qemu-system-modules-opengl
# EDK2 固件
sudo apt install qemu-efi-riscv64

创建虚拟磁盘文件

fallocate -l 80G deepin.img

下载镜像

~/home/riscv目录下放置iso镜像文件。
deepin risc-v 镜像地址
并更改名称为installer.iso

二、准备安装与运行脚本

原帖使用的脚本默认使用了openGL,在这里我关闭了openGL的调用

install.sh

#!/bin/bash
VCPU=4
VRAM=8G

qemu-system-riscv64 \
    -smp $VCPU -m $VRAM -cpu rv64 \
    -machine virt,acpi=off \
    -device virtio-scsi-pci,id=scsi \
    -drive if=pflash,format=raw,unit=0,file=/usr/share/qemu-efi-riscv64/RISCV_VIRT_CODE.fd,readonly=on \
    -device scsi-cd,drive=cd2 \
    -drive file=./installer.iso,id=cd2,format=raw,readonly=on \
    -device virtio-net,netdev=deepinnet -netdev user,id=deepinnet,hostfwd=tcp:127.0.0.1:15900-:5900 \
    -device virtio-sound-pci,audiodev=deepinaudio -audiodev alsa,id=deepinaudio \
    -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 -device usb-kbd,bus=xhci.0 \
    -drive file=./deepin.img,if=virtio,format=raw \
    -device virtio-vga-gl -display gtk,gl=on \
    -serial mon:stdio

start.sh

#!/bin/bash
VCPU=4
VRAM=8G

qemu-system-riscv64 \
    -smp $VCPU -m $VRAM -cpu rv64 \
    -machine virt,acpi=off \
    -device virtio-scsi-pci,id=scsi \
    -drive if=pflash,format=raw,unit=0,file=/usr/share/qemu-efi-riscv64/RISCV_VIRT_CODE.fd,readonly=on \
    -device virtio-net,netdev=deepinnet -netdev user,id=deepinnet,hostfwd=tcp:127.0.0.1:15900-:5900 \
    -device virtio-sound-pci,audiodev=deepinaudio -audiodev alsa,id=deepinaudio \
    -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0 -device usb-kbd,bus=xhci.0 \
    -drive file=./deepin.img,if=virtio,format=raw \
    -device virtio-vga -display gtk \
    -serial mon:stdio

运行脚本

bash install.sh
运行后就会调用QEMU安装


安装完毕后,关闭虚拟机。

之后就可以使用start.sh来打开虚拟机。
bash start.sh

9 个赞

欢迎,有机会可以再写一篇 qemu-user 的

4 个赞

欢迎,非常不错的开始。

3 个赞