RISC-V QEMUコマンドライン呼び出しをvirt-manager VMに変換するには?

RISC-V QEMUコマンドライン呼び出しをvirt-manager VMに変換するには?

指示に従って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 として指定して新しい仮想マシンを作成してみました。

ここに画像の説明を入力してください。

(その後、UIを次のように変更します。 ここに画像の説明を入力してください。

次に、次のようにディスクイメージを手動で選択します。 ここに画像の説明を入力してください。

Ubuntu 22.04を実行していることを示しています。 ここに画像の説明を入力してください。

最後に、仮想マシンが作成された後は起動できません。これは、カスタムの-biosおよび-kernelパラメータが欠落しているためだと思います。

<bios>/usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.bin</bios>virshを使用して以下にタグを追加し、下に<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 バイナリへのパスを調整する必要があります。

関連情報