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 바이너리에 대한 경로를 조정해야 합니다.

관련 정보