我已根据说明成功设置了 QEMU RISC-V VM这里。
我最终的 CLI 调用是:
/usr/bin/qemu-system-riscv64 -machine virt -m 4G -smp cpus=2 -nographic \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.bin \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/u-boot.bin \
-netdev user,id=net0 \
-device virtio-net-device,netdev=net0 \
-drive file=qemu_disk.bin,format=raw,if=virtio \
-device virtio-rng-pci \
-vga virtio \
-no-reboot
现在我想获取现有的 qemu_disk.bin 映像,并通过 virt-manager 运行它。
为此,我尝试创建一个新的虚拟机,将架构指定为 riscv64
最终,虚拟机创建完成后,无法启动。我怀疑这是因为缺少自定义 -bios 和 -kernel 参数。
我尝试使用 virsh 在 下添加一个<bios>/usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.bin</bios>
标签<domain>
,并<kernel>/usr/lib/u-boot/qemu-riscv64_smode/u-boot.bin</kernel>
在 下添加一个标签<os>
。然而它仍然没有启动。
将现有的工作 qemu 调用导入 virt-manager 的正确方法是什么?
答案1
我按照与您相同的步骤操作,然后在 virt-manager 中手动编辑引导选项的 XML。这是我的<domain><os>
部分:
<os>
<type arch="riscv64" machine="virt">hvm</type>
<loader type="rom">/var/lib/libvirt/images/qemu-riscv64_smode/opensbi.bin</loader>
<kernel>/var/lib/libvirt/images/qemu-riscv64_smode/u-boot.bin</kernel>
<boot dev="hd"/>
</os>
您仍然需要调整 opensbi/u-boot 二进制文件的路径。