libvirt는 연결된 virtio 디스크를 인식하지 못하지만 qemu는 인식합니다.

libvirt는 연결된 virtio 디스크를 인식하지 못하지만 qemu는 인식합니다.

qemu 버전 5.1, KVM 활성화, libvirt 및 virt-manager가 소스에서 설치된 내 노트북, ARM Chromebook에서 ARM 32비트용 FreeBSD 13.2를 가상화하려고 하는데 모든 것이 잘 작동합니다. 호스트 운영 체제는 Devuan 5입니다. 실제로, 이러한 매개변수를 사용하면 FreeBSD는 완전히 부팅할 수 있습니다:

UEFICODE=/usr/share/AAVMF/AAVMF32_CODE.fd
UEFIVARS=/usr/share/AAVMF/AAVMF32_VARS.fd
DISK=/Dati/img/FreeBSD-13.2-RELEASE-arm-armv7-GENERICSD.img

qemu-system-arm -enable-kvm -serial stdio -m 1024 -M virt -cpu cortex-a15 
-drive if=pflash,format=raw,unit=0,file=$UEFICODE 
-drive if=pflash,format=raw,unit=1,file=$UEFIVARS 
-drive file=$DISK,media=disk,format=raw 
-device i82559b,netdev=net0,mac="52:54:00:12:34:55" 
-netdev type=user,id=net0 -device virtio-gpu-pci -usb 
-device nec-usb-xhci -device usb-kbd -device usb-mouse 
-device vmware-svga,id=video0,vgamem_mb=16

이 시작 로그 메시지에서 볼 수 있듯이:

https://pastebin.ubuntu.com/p/VBtJ5bTTCz/

따라서 qemu가 virtio 디스크를 인식할 수 있기 때문에 이 주장은 좋습니다.

-drive file=$DISK,media=disk,format=raw \

그러나 libvirt에서 사용하는 이러한 매개변수는 연결된 virtio 디스크가 인식되지 않기 때문에 FreeBSD를 시작할 수 없습니다. (SATA 디스크도 사용해 보았으나 인식되지 않았습니다.)

<disk type="file" device="disk">
  <driver name="qemu" type="raw"/>
  <source file="/Dati/img/FreeBSD-13.2-RELEASE-arm-armv7-GENERICSD.img"/>
  <target dev="vda" bus="virtio"/>
  <address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</disk>

여기에서 libirt가 사용하는 전체 XML 코드를 볼 수 있습니다.

https://pastebin.ubuntu.com/p/hpGmgp2773/

virtio 디스크(FreeBSD 이미지 파일)에 해당하는 코드 부분입니다.

1

qemu와 libvirt 매개변수의 차이점은 무엇입니까? 이유에 대한 막연한 생각이 있습니까? 문제는 qemu 및/또는 libvirt로 인해 발생한 것 같습니다.

BIOS 설정에서 이미지 부팅을 시도하고 이미지 디스크를 직접 부팅하려고 시도했지만 다음 오류가 표시되었습니다.

2

전체 부팅 순서를 보려면 제가 녹화한 다음 짧은 비디오를 시청하세요.

https://drive.google.com/file/d/1kRoAFH_6DH-vNEmNmg4PEQ8lQmKZnUi2/view

관련 정보