1. 安装软件包

  • qemu-system-riscv
  • u-boot-qemu
  • opensbi

2. 下载Ubuntu系统镜像

下载链接:[https://cdimage.ubuntu.com/releases/24.04/release/(https://cdimage.ubuntu.com/releases/24.04/release/)

可以下载ubuntu-24.04.1-preinstalled-server-riscv64.img.xz,这个可以在qemu上跑起来。

3. 解压以及调整镜像大小

将下载要的文件解压,随后可调整下大小(可选):

qemu-img resize -f raw ubuntu-24.04.1-preinstalled-server-riscv64.img +5G

3. 启动Linux

qemu-system-riscv64 \
-machine virt\
-nographic \
-m 2048 \
-smp 4 \
-bios /usr/share/opensbi/lp64/generic/firmware/fw_jump.bin \
-kernel /usr/share/u-boot-qemu-bin/qemu-riscv64_smode/uboot.elf \
-device virtio-net-device,netdev=wlan0 -netdev user,id=wlan0 \
-device virtio-rng-pci \
-drive file=ubuntu-24.04.1-preinstalled-server-riscv64.img,format=raw,if=virtio

其中,-m设置了内存的大小,-smp设置了CPU核心数。

对于opensbi和uboot,需要将/usr/share/opensbi/lp64/generic/firmware/fw_jump.bin/usr/share/u-boot-qemu-bin/qemu-riscv64_smode/uboot.elf修改为主机上正确的文件位置。

同时,对于网络设备,可将wlan0更改为自己电脑上的网络设备即可。

正常启动后,可以看到如下输出,随后可进入终端:

image-20241220215332368

4. 安装图形界面

apt install gnome-shell

或者也可以安装轻量级的桌面:

apt install xfce4
# 或
apt install lxde

安装桌面的时候,会自动把显示管理器安装上,一般无需额外手动安装。

不过,对于qemu启动命令,需要进行一些修改:

qemu-system-riscv64 \
  -machine virt \
  -m 4096 \
  -smp 4 \
  -bios /usr/share/opensbi/lp64/generic/firmware/fw_jump.bin \
  -kernel /usr/share/u-boot-qemu-bin/qemu-riscv64_smode/uboot.elf \
  -device qemu-xhci,id=xhci \
  -device usb-kbd,bus=xhci.0 \    # 添加键盘设备
  -device usb-mouse,bus=xhci.0 \  # 添加鼠标设备
  -device virtio-gpu-pci \        # 添加GPU
  -device virtio-rng-pci \
  -drive file=ubuntu-24.04.1-preinstalled-server-riscv64.img,format=raw,if=virtio \
  -netdev user,id=wlan0 -device virtio-net-device,netdev=wlan0 \
  -display gtk # 可以让qenu显示一个GUI界面,并用gtk作为后端

image-20241223231232113