Another round,another problem. Probably I'm a little bit masochistic
because what I do everyday is to find problems to solve them,like a lot of
computer enthusiasts. This time I'm trying to use qemu 5.1 with
virt-manager and libvirt. Devuan 4 is the host o.s that I'm running on my
ARM chromebook. By default it uses qemu and its dependencies,version 5.2. I
remember that I can't use qemu 5.2,because it doesn't have any support for
KVM. For this reason,I've compiled qemu 5.1 from source. Below I shown how
I have configured it such as a little piece of compilation messages :
apt install libgtk-3-dev libpulse-dev libgbm-dev libspice-protocol-dev
libspice-server-dev libusb-1.0-0-dev libepoxy-dev
cd /usr/share
mv qemu qemu_
cd /usr/lib
mv qemu qemu_
cd /usr/lib/arm-linux-gnueabihf
mv qemu qemu_
cd /usr/lib/ipxe
mv qemu qemu_
cd /usr/share/bash-completion/completions/
mv qemu qemu_
mv qemu-kvm qemu-kvm_
mv qemu-system-i386 qemu-system-i386_
mv qemu-system-x86_64 qemu-system-x86_64_
cd /usr/bin
mv qemu-system-arm qemu-system-arm_
cp /root/Desktop/qemu-v5.1.0/arm-softmmu/qemu-system-arm /usr/bin
CFLAGS=-Wno-error ./configure --target-list=x86_64-softmmu --enable-opengl
--enable-gtk --enable-kvm --enable-guest-agent --enable-spice
--audio-drv-list="oss pa" --enable-libusb
install -d -m 0755 "/usr/local/share/qemu"
install -d -m 0755 "/usr/local/var"/run
install -d -m 0755 "/usr/local/include"
install -d -m 0755 "/usr/local/bin"
install -c -m 0755 qemu-ga qemu-keymap ivshmem-client ivshmem-server
qemu-nbd qemu-storage-daemon qemu-img qemu-io qemu-edid "/usr/local/bin"
strip "/usr/local/bin/qemu-ga" "/usr/local/bin/qemu-keymap"
"/usr/local/bin/ivshmem-client" "/usr/local/bin/ivshmem-server"
"/usr/local/bin/qemu-nbd" "/usr/local/bin/qemu-storage-daemon"
"/usr/local/bin/qemu-img" "/usr/local/bin/qemu-io"
"/usr/local/bin/qemu-edid"
install -d -m 0755 "/usr/local/libexec"
install -c -m 0755 scsi/qemu-pr-helper qemu-bridge-helper
"/usr/local/libexec"
strip "/usr/local/libexec/qemu-pr-helper"
"/usr/local/libexec/qemu-bridge-helper"
set -e; for x in bios.bin bios-256k.bin bios-microvm.bin sgabios.bin
vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin
vgabios-qxl.bin vgabios-virtio.bin vgabios-ramfb.bin
vgabios-bochs-display.bin vgabios-ati.bin openbios-sparc32 openbios-sparc64
openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin pxe-e1000.rom pxe-eepro100.rom
pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom pxe-virtio.rom efi-e1000.rom
efi-eepro100.rom efi-ne2k_pci.rom efi-pcnet.rom efi-rtl8139.rom
efi-virtio.rom efi-e1000e.rom efi-vmxnet3.rom qemu-nsis.bmp bamboo.dtb
canyonlands.dtb petalogix-s3adsp1800.dtb petalogix-ml605.dtb multiboot.bin
linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin s390-ccw.img
s390-netboot.img slof.bin skiboot.lid palcode-clipper u-boot.e500
u-boot-sam460-20100605.bin qemu_vga.ndrv edk2-licenses.txt
hppa-firmware.img opensbi-riscv32-sifive_u-fw_jump.bin
opensbi-riscv32-virt-fw_jump.bin opensbi-riscv64-sifive_u-fw_jump.bin
opensbi-riscv64-virt-fw_jump.bin; do \
install -c -m 0644 /root/Desktop/qemu-v5.1.0/pc-bios/$x
"/usr/local/share/qemu"; \
done
set -e; for x in pc-bios/edk2-aarch64-code.fd pc-bios/edk2-arm-code.fd
pc-bios/edk2-arm-vars.fd pc-bios/edk2-i386-code.fd
pc-bios/edk2-i386-secure-code.fd pc-bios/edk2-i386-vars.fd
pc-bios/edk2-x86_64-code.fd pc-bios/edk2-x86_64-secure-code.fd; do \
install -c -m 0644 $x "/usr/local/share/qemu"; \
done
install -d -m 0755 "/usr/local/share/qemu/firmware"
set -e; tmpf=$(mktemp); trap 'rm -f -- "$tmpf"' EXIT; \
for x in 50-edk2-i386-secure.json 50-edk2-x86_64-secure.json
60-edk2-aarch64.json 60-edk2-arm.json 60-edk2-i386.json
60-edk2-x86_64.json; do \
sed -e 's,@DATADIR@,/usr/local/share/qemu,' \
"/root/Desktop/qemu-v5.1.0/pc-bios/descriptors/$x" >
"$tmpf"; \
install -c -m 0644 "$tmpf" \
"/usr/local/share/qemu/firmware/$x"; \
done
for s in 16x16 24x24 32x32 48x48 64x64 128x128 256x256 512x512; do \
mkdir -p "/usr/local/share/icons/hicolor/${s}/apps"; \
install -c -m 0644 /root/Desktop/qemu-v5.1.0/ui/icons/qemu_${s}.png
\
"/usr/local/share/icons/hicolor/${s}/apps/qemu.png"; \
done; \
mkdir -p "/usr/local/share/icons/hicolor/32x32/apps"; \
install -c -m 0644 /root/Desktop/qemu-v5.1.0/ui/icons/qemu_32x32.bmp \
"/usr/local/share/icons/hicolor/32x32/apps/qemu.bmp"; \
mkdir -p "/usr/local/share/icons/hicolor/scalable/apps"; \
install -c -m 0644 /root/Desktop/qemu-v5.1.0/ui/icons/qemu.svg \
"/usr/local/share/icons/hicolor/scalable/apps/qemu.svg"
mkdir -p "/usr/local/share/applications"
install -c -m 0644 /root/Desktop/qemu-v5.1.0/ui/qemu.desktop \
"/usr/local/share/applications/qemu.desktop"
make -C po install
make[1]: Entering directory '/root/Desktop/qemu-v5.1.0/po'
for obj in bg.mo de_DE.mo fr_FR.mo hu.mo it.mo sv.mo tr.mo zh_CN.mo; do \
base=$(basename $obj .mo); \
install -d /usr/local/share/locale/$base/LC_MESSAGES; \
install -m644 $obj /usr/local/share/locale/$base/LC_MESSAGES/qemu.mo; \
done
make[1]: Leaving directory '/root/Desktop/qemu-v5.1.0/po'
install -d -m 0755 "/usr/local/share/qemu/keymaps"
set -e; for x in da en-gb et fr fr-ch is lt no pt-br sv
ar de en-us fi fr-be hr it lv nl pl ru th
de-ch es fo fr-ca hu ja mk pt sl tr bepo cz; do \
install -c -m 0644 /root/Desktop/qemu-v5.1.0/pc-bios/keymaps/$x
"/usr/local/share/qemu/keymaps"; \
done
install -c -m 0644 /root/Desktop/qemu-v5.1.0/trace-events-all
"/usr/local/share/qemu/trace-events-all"
These are the resulting versions of my frankenstein operation :
root@devuan:/usr/share# virsh version
Compiled against library: libvirt 7.0.0
Using library: libvirt 7.0.0
Using API: QEMU 7.0.0
Running hypervisor: QEMU 5.1.0
At this point I've run virt-manager. It has been able to detect qemu,but I
get the following error :
Warning : Failed to set up UEFI. The Libvirt version does not support UEFI.
Install options are limited.
Do you have some suggestions to give me to fix this error ? I'm sure to
have missed something, thanks.