<div dir="ltr">I've installed Debian bookworm instead of devuan. Maybe it's easier,since I know debian better than devuan. Let me understand a point : should I issue "apt build-dep libvirt" instead of "apt install virt-manager" ? aren't they equivalent commands ? Usually,as soon as I reinstall Debian,I do the installation of virt-manager and it grabs all its dependencies. If I understand correctly,I should not install virt-manager and its dependencies,right ? thanks.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 24, 2023 at 3:16 PM Pavel Hrdina <<a href="mailto:phrdina@redhat.com">phrdina@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, Aug 23, 2023 at 08:47:55PM +0200, Mario Marietto wrote:<br>
> I've fixed this problem :<br>
> <br>
> virsh: /lib/arm-linux-gnueabihf/libvirt.so.0: version<br>
> `LIBVIRT_PRIVATE_9.0.0' not found (required by virsh)<br>
> <br>
> now,virsh works if I launch it within the build directory of libvirt :<br>
> <br>
> root@devuan:~/libvirt_build/bin# ./virsh<br>
> Welcome to virsh, the virtualization interactive terminal.<br>
> <br>
> Type: 'help' for help with commands<br>
> 'quit' to quit<br>
> <br>
> but inside the build directory of libvirt I don't see any virt-manager<br>
> executable,so I'm forced to run it like this :<br>
> <br>
> root@devuan:~/Desktop/libvirt/build# ./run /usr/bin/virt-manager<br>
> <br>
> and it gives the previous error : no connection driver available for<br>
> qemu:///system<br>
> <br>
> but the fact that virsh works is a progress ? should I compile virt-manager<br>
> also from source code ?<br>
<br>
No, there is no need to compile virt-manager, it is written in python<br>
and so there is no compilation involved at all.<br>
<br>
<br>
I would probably recommend you to remove `~/libvirt_build/` and<br>
`~/Desktop/libvirt/build/` directories and start again.<br>
<br>
If you've successfully installed all libvirt build dependencies using<br>
`apt build-dep libvirt` you should have everything to build your own<br>
libvirt if you are on Devuan 5.<br>
<br>
The next step would be configuring libvirt so you can compile it using<br>
the following command executed in the libvirt source directory:<br>
<br>
meson setup build<br>
<br>
Once that is completed you can build and install your libvirt using<br>
the following command directly from the source directory as well:<br>
<br>
ninja -C build<br>
sudo ninja -C build install<br>
<br>
The first one will build libvirt (I would not run it as root) and the<br>
second one will install it into /usr/local/.<br>
<br>
After that is done you should be able to run virsh and libvirtd directly<br>
without any run script. You can verify which binary is actually used if<br>
you run the following:<br>
<br>
which virsh<br>
which libvirtd<br>
<br>
If everything is correct you should get these paths:<br>
<br>
/usr/local/bin/virsh<br>
/usr/local/sbin/libvirtd<br>
<br>
Now you should be able to simply run `libvirtd &` to start the daemon.<br>
<br>
After that running `virsh version` or any virsh command should just<br>
work. Running `virt-manager` should also work and connect to the correct<br>
libvirt.<br>
<br>
<br>
I also tried installing QEMU build dependencies using `apt build-dep qemu`<br>
and used the following steps to build QEMU 5.1.0 from source directory:<br>
<br>
mkdir build<br>
cd build<br>
../configure (with options, I'm doing it on x86_64 so they are bit different)<br>
make<br>
sudo make install<br>
<br>
But you should have theses steps completed already. Again you can verify<br>
that you are using correct qemu-system-arm running:<br>
<br>
which qemu-system-arm<br>
<br>
where you should get<br>
<br>
/usr/local/bin/qemu-system-arm<br>
<br>
If you complete all of the build and install steps like here and start<br>
libvirtd after that you should have everything set to work properly<br>
and starting `virt-manager` without any special path should just work.<br>
<br>
I verified all of this on Devuan 5 but on x86_64 architecture, don't<br>
have any 32bit arm to try it on.<br>
<br>
Pavel<br>
<br>
<br>
> On Wed, Aug 23, 2023 at 7:39 PM Mario Marietto <<a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a>><br>
> wrote:<br>
> <br>
> > Despite that error,the previous error is still there :<br>
> ><br>
> > Unable to connect to libvirt qemu:///system.<br>
> ><br>
> > no connection driver available for qemu:///system<br>
> ><br>
> > Libvirt URI is: qemu:///system<br>
> ><br>
> > Traceback (most recent call last):<br>
> > File "/usr/share/virt-manager/virtManager/connection.py", line 923, in<br>
> > _do_open<br>
> > self._backend.open(cb, data)<br>
> > File "/usr/share/virt-manager/virtinst/connection.py", line 171, in open<br>
> > conn = libvirt.openAuth(self._open_uri,<br>
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>
> > File "/usr/lib/python3/dist-packages/libvirt.py", line 147, in openAuth<br>
> > raise libvirtError('virConnectOpenAuth() failed')<br>
> > libvirt.libvirtError: no connection driver available for qemu:///system<br>
> ><br>
> > I'm using qemu 5.1 :<br>
> ><br>
> > root@devuan:~# qemu-system-arm --version<br>
> ><br>
> > QEMU emulator version 5.1.0 (v5.1.0-dirty)<br>
> ><br>
> ><br>
> > On Wed, Aug 23, 2023 at 7:30 PM Mario Marietto <<a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a>><br>
> > wrote:<br>
> ><br>
> >> root@devuan:~/Desktop/libvirt/build# sudo virsh list --all<br>
> >><br>
> >> virsh: /lib/arm-linux-gnueabihf/libvirt.so.0: version<br>
> >> `LIBVIRT_PRIVATE_9.0.0' not found (required by virsh)<br>
> >><br>
> >><br>
> >><br>
> >> On Wed, Aug 23, 2023 at 5:43 PM Pavel Hrdina <<a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>> wrote:<br>
> >><br>
> >>> On Wed, Aug 23, 2023 at 03:41:42PM +0200, Mario Marietto wrote:<br>
> >>> > Hello Pavel,<br>
> >>> ><br>
> >>> > It didn't work,but the error was changed. Isn't a bad news :<br>
> >>> ><br>
> >>> > root@devuan:~/Desktop/libvirt/build# ./run /usr/bin/virt-manager<br>
> >>> ><br>
> >>> > Unable to connect to libvirt qemu:///system.<br>
> >>> ><br>
> >>> > no connection driver available for qemu:///system<br>
> >>> ><br>
> >>> > Libvirt URI is: qemu:///system<br>
> >>> ><br>
> >>> > Traceback (most recent call last):<br>
> >>> > File "/usr/share/virt-manager/virtManager/connection.py", line 923,<br>
> >>> in<br>
> >>> > _do_open<br>
> >>> > self._backend.open(cb, data)<br>
> >>> > File "/usr/share/virt-manager/virtinst/connection.py", line 171, in<br>
> >>> open<br>
> >>> > conn = libvirt.openAuth(self._open_uri,<br>
> >>> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>
> >>> > File "/usr/lib/python3/dist-packages/libvirt.py", line 147, in<br>
> >>> openAuth<br>
> >>> > raise libvirtError('virConnectOpenAuth() failed')<br>
> >>> > libvirt.libvirtError: no connection driver available for qemu:///system<br>
> >>><br>
> >>> Seems like you've compiled libvirt without qemu support. My guess is<br>
> >>> that you are missing dependencies to compile libvirt with QEMU driver.<br>
> >>> If you run<br>
> >>><br>
> >>> apt build-dep libvirt<br>
> >>><br>
> >>> it should install you dependencies that libvirt from package manager<br>
> >>> would need and that is a good starting point to compile your own<br>
> >>> libvirt.<br>
> >>><br>
> >>><br>
> >>> > On Wed, Aug 23, 2023 at 2:27 PM Pavel Hrdina <<a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>><br>
> >>> wrote:<br>
> >>> ><br>
> >>> > > On Tue, Aug 22, 2023 at 10:23:32PM +0200, Mario Marietto wrote:<br>
> >>> > > > After having compiled libvirt from src and having run<br>
> >>> virt-manager,I get<br>
> >>> > > > the error "Libvirtd daemon is not running". Can you give a look at<br>
> >>> this<br>
> >>> > > > picture ?<br>
> >>> > > ><br>
> >>> > > > <a href="https://ibb.co/n6MvDbL" rel="noreferrer" target="_blank">https://ibb.co/n6MvDbL</a><br>
> >>> > > ><br>
> >>> > > > how to fix it ? thanks.<br>
> >>> > ><br>
> >>> > > If you managed to start libvirtd using the run script from libvirt<br>
> >>> build<br>
> >>> > > directory you should use the run script to start virt-manager as<br>
> >>> well.<br>
> >>> > ><br>
> >>> > > > On Tue, Aug 22, 2023 at 10:17 PM Mario Marietto <<br>
> >>> <a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a>><br>
> >>> > > > wrote:<br>
> >>> > > ><br>
> >>> > > > > [image: Screenshot from 2023-08-22 22-06-30.png]<br>
> >>> > > > ><br>
> >>> > > > > On Tue, Aug 22, 2023 at 9:44 PM Mario Marietto <<br>
> >>> <a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a><br>
> >>> > > ><br>
> >>> > > > > wrote:<br>
> >>> > > > ><br>
> >>> > > > >><br>
> >>> > > > >> Hello,<br>
> >>> > > > >><br>
> >>> > > > >> Pavel,are you there ? Please help me to give it the last push.<br>
> >>> I've<br>
> >>> > > fixed<br>
> >>> > > > >> the last error like so :<br>
> >>> > > > >><br>
> >>> > > > >> root@devuan:~/Desktop/libvirt/build# update-alternatives --set<br>
> >>> > > iptables<br>
> >>> > > > >> /usr/sbin/iptables-legacy<br>
> >>> > > > >> update-alternatives: using /usr/sbin/iptables-legacy to provide<br>
> >>> > > > >> /usr/sbin/iptables (iptables) in manual mode<br>
> >>> > > > >><br>
> >>> > > > >> but now I have got another error. Anyway,I feel to be close :<br>
> >>> > > > >><br>
> >>> > > > >> root@devuan:~/Desktop/libvirt/build# sudo ./run src/virtlockd<br>
> >>> & sudo<br>
> >>> > > > >> ./run src/virtlogd & sudo ./run src/libvirtd<br>
> >>> > > > >><br>
> >>> > > > >> 2023-08-22 19:38:49.036+0000: 15002: info : libvirt version:<br>
> >>> 9.7.0<br>
> >>> > > > >><br>
> >>> > > > >> hostname: devuan<br>
> >>> > > > >> error : virPidFileAcquirePathFull:409 : Failed to acquire pid<br>
> >>> file<br>
> >>> > > > >> '/root/libvirt_build/var/run/virtlockd.pid': Resource<br>
> >>> temporarily<br>
> >>> > > > >> unavailable<br>
> >>> > > > >><br>
> >>> > > > >> On Tue, Aug 22, 2023 at 7:01 PM Mario Marietto <<br>
> >>> > > <a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a>><br>
> >>> > > > >> wrote:<br>
> >>> > > > >><br>
> >>> > > > >>> Et voila'. I've recompiled libvirt in this way :<br>
> >>> > > > >>><br>
> >>> > > > >>> git clone <a href="https://github.com/libvirt/libvirt.git" rel="noreferrer" target="_blank">https://github.com/libvirt/libvirt.git</a><br>
> >>> > > > >>> mkdir -p libvirt_build<br>
> >>> > > > >>> cd libvirt<br>
> >>> > > > >>> apt install meson xsltproc libgnutls28-dev libxml2-dev rst2pdf<br>
> >>> > > > >>> meson build --prefix=$HOME/libvirt_build<br>
> >>> > > > >>> ninja -C build<br>
> >>> > > > >>> sudo ninja -C build install<br>
> >>> > > > >>> cd build<br>
> >>> > > > >>> nano vai.sh :<br>
> >>> > > > >>><br>
> >>> > > > >>> sudo ./run src/virtlockd & sudo ./run src/virtlogd & sudo ./run<br>
> >>> > > > >>> src/libvirtd<br>
> >>> > > > >>><br>
> >>> > > > >>> chmod +x vai.sh<br>
> >>> > > > >>><br>
> >>> > > > >>> this is the error I get :<br>
> >>> > > > >>><br>
> >>> > > > >>> root@devuan:~/Desktop/libvirt/build# ./vai.sh<br>
> >>> > > > >>><br>
> >>> > > > >>> 2023-08-22 16:52:34.416+0000: 14725: info : libvirt version:<br>
> >>> 9.7.0<br>
> >>> > > > >>> 2023-08-22 16:52:34.416+0000: 14725: info : hostname: devuan<br>
> >>> > > > >>> 2023-08-22 16:52:34.416+0000: 14725: error :<br>
> >>> > > > >>> virFirewallApplyRuleDirect:518 : internal error: Failed to<br>
> >>> apply<br>
> >>> > > > >>> firewall rules /usr/sbin/iptables -w --table filter<br>
> >>> --list-rules:<br>
> >>> > > > >>> iptables: Failed to initialize nft: Protocol not supported<br>
> >>> > > > >>><br>
> >>> > > > >>> 2023-08-22 16:52:34.428+0000: 14725: error :<br>
> >>> > > > >>> virFirewallApplyRuleDirect:518 : internal error: Failed to<br>
> >>> apply<br>
> >>> > > firewall<br>
> >>> > > > >>> rules /usr/sbin/ip6tables -w --table filter --list-rules:<br>
> >>> ip6tables:<br>
> >>> > > Failed<br>
> >>> > > > >>> to initialize nft: Protocol not supported<br>
> >>> > > > >>><br>
> >>> > > > >>> On Tue, Aug 22, 2023 at 6:49 PM Pavel Hrdina <<br>
> >>> <a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>><br>
> >>> > > wrote:<br>
> >>> > > > >>><br>
> >>> > > > >>>> On Tue, Aug 22, 2023 at 06:22:25PM +0200, Mario Marietto<br>
> >>> wrote:<br>
> >>> > > > >>>> > In your opinion should I remove virt-manager and all its<br>
> >>> > > dependencies<br>
> >>> > > > >>>> > before launching the recompilation ?<br>
> >>> > > > >>>><br>
> >>> > > > >>>> I would say there is no need to do that if you install<br>
> >>> libvirt to<br>
> >>> > > > >>>> /usr/local as it should be separated from the libvirt<br>
> >>> installed by<br>
> >>> > > > >>>> package manager.<br>
> >>> > > > >>>><br>
> >>> > > > >>>> Pavel<br>
> >>> > > > >>>><br>
> >>> > > > >>>> ><br>
> >>> > > > >>>> > On Tue, Aug 22, 2023 at 6:05 PM Pavel Hrdina <<br>
> >>> <a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>><br>
> >>> > > > >>>> wrote:<br>
> >>> > > > >>>> ><br>
> >>> > > > >>>> > > On Tue, Aug 22, 2023 at 05:55:30PM +0200, Mario Marietto<br>
> >>> wrote:<br>
> >>> > > > >>>> > > > I have installed virt-manager and all its dependencies<br>
> >>> > > grabbing<br>
> >>> > > > >>>> the files<br>
> >>> > > > >>>> > > > from the devuan 5 repository.<br>
> >>> > > > >>>> > > > To recompile libvirt I need to acquire some basic<br>
> >>> information.<br>
> >>> > > > >>>> Which<br>
> >>> > > > >>>> > > > version should I compile ? Where is the source code<br>
> >>> located ?<br>
> >>> > > Do<br>
> >>> > > > >>>> you have<br>
> >>> > > > >>>> > > > some tutorial that explains the necessary steps to do<br>
> >>> it ?<br>
> >>> > > thanks.<br>
> >>> > > > >>>> > ><br>
> >>> > > > >>>> > > Everything can be found at <a href="https://libvirt.org/" rel="noreferrer" target="_blank">https://libvirt.org/</a> not sure<br>
> >>> which<br>
> >>> > > > >>>> version<br>
> >>> > > > >>>> > > to pick, you can try latest upstream version but there<br>
> >>> might be<br>
> >>> > > some<br>
> >>> > > > >>>> > > dependencies missing in Devuan, if that happens you can<br>
> >>> > > fallback to<br>
> >>> > > > >>>> > > version that is provided by Devuan.<br>
> >>> > > > >>>> > ><br>
> >>> > > > >>>> > > For example this link has basic info on how to compile<br>
> >>> libvirt<br>
> >>> > > > >>>> > > <a href="https://libvirt.org/compiling.html" rel="noreferrer" target="_blank">https://libvirt.org/compiling.html</a> and here you can find<br>
> >>> > > sources<br>
> >>> > > > >>>> > > to libvirt <a href="https://libvirt.org/downloads.html" rel="noreferrer" target="_blank">https://libvirt.org/downloads.html</a> .<br>
> >>> > > > >>>> > ><br>
> >>> > > > >>>> > > Pavel<br>
> >>> > > > >>>> > ><br>
> >>> > > > >>>> > > > On Tue, Aug 22, 2023 at 5:50 PM Pavel Hrdina <<br>
> >>> > > <a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>><br>
> >>> > > > >>>> wrote:<br>
> >>> > > > >>>> > > ><br>
> >>> > > > >>>> > > > > On Tue, Aug 22, 2023 at 05:28:50PM +0200, Mario<br>
> >>> Marietto<br>
> >>> > > wrote:<br>
> >>> > > > >>>> > > > > > root@devuan:~# virsh domcapabilities --machine virt<br>
> >>> > > > >>>> --emulatorbin<br>
> >>> > > > >>>> > > > > > /usr/bin/qemu-system-arm<br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > error: failed to get emulator capabilities<br>
> >>> > > > >>>> > > > > > error: KVM is not supported on this platform:<br>
> >>> Function not<br>
> >>> > > > >>>> > > implemented<br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > BUT it's not true :<br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > root@devuan:~# kvm-ok<br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > INFO: /dev/kvm exists<br>
> >>> > > > >>>> > > > > > KVM acceleration can be used<br>
> >>> > > > >>>> > > > ><br>
> >>> > > > >>>> > > > > Are you using libvirt installed using package manager<br>
> >>> or<br>
> >>> > > some<br>
> >>> > > > >>>> libvirt<br>
> >>> > > > >>>> > > > > that you compiled yorself? Checking libvirt code this<br>
> >>> error<br>
> >>> > > only<br>
> >>> > > > >>>> > > happens<br>
> >>> > > > >>>> > > > > if libvirt was compiled without KVM, more<br>
> >>> specifically if<br>
> >>> > > header<br>
> >>> > > > >>>> > > > > `/usr/include/linux/kvm.h` doesn't exists.<br>
> >>> > > > >>>> > > > ><br>
> >>> > > > >>>> > > > > I was not able to find any details on Devuan distro<br>
> >>> so not<br>
> >>> > > sure<br>
> >>> > > > >>>> how<br>
> >>> > > > >>>> > > > > the libvirt package is compiled. You might need to try<br>
> >>> > > compiling<br>
> >>> > > > >>>> > > libvirt<br>
> >>> > > > >>>> > > > > yourself.<br>
> >>> > > > >>>> > > > ><br>
> >>> > > > >>>> > > > > Pavel<br>
> >>> > > > >>>> > > > ><br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > On Tue, Aug 22, 2023 at 5:27 PM Mario Marietto <<br>
> >>> > > > >>>> > > <a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a>><br>
> >>> > > > >>>> > > > > > wrote:<br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > > Oh sorry....<br>
> >>> > > > >>>> > > > > > ><br>
> >>> > > > >>>> > > > > > > On Tue, Aug 22, 2023 at 5:26 PM Mario Marietto <<br>
> >>> > > > >>>> > > <a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a><br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > > wrote:<br>
> >>> > > > >>>> > > > > > ><br>
> >>> > > > >>>> > > > > > >> virsh domcapabilities --machine virt<br>
> >>> --emulatorbin<br>
> >>> > > > >>>> > > > > > >> /path/to/qemu-system-arm<br>
> >>> > > > >>>> > > > > > >><br>
> >>> > > > >>>> > > > > > >> error: failed to get emulator capabilities<br>
> >>> > > > >>>> > > > > > >> error: Cannot check QEMU binary<br>
> >>> > > /path/to/qemu-system-arm:<br>
> >>> > > > >>>> No such<br>
> >>> > > > >>>> > > > > file or<br>
> >>> > > > >>>> > > > > > >> directory<br>
> >>> > > > >>>> > > > > > >><br>
> >>> > > > >>>> > > > > > >> On Tue, Aug 22, 2023 at 4:49 PM Pavel Hrdina <<br>
> >>> > > > >>>> <a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a>><br>
> >>> > > > >>>> > > > > wrote:<br>
> >>> > > > >>>> > > > > > >><br>
> >>> > > > >>>> > > > > > >>> On Tue, Aug 22, 2023 at 04:05:09PM +0200, Mario<br>
> >>> > > Marietto<br>
> >>> > > > >>>> wrote:<br>
> >>> > > > >>>> > > > > > >>> > Where does libvirt want to find those files ?<br>
> >>> since<br>
> >>> > > the<br>
> >>> > > > >>>> qemu<br>
> >>> > > > >>>> > > 5.1<br>
> >>> > > > >>>> > > > > > >>> > installation files have been placed under<br>
> >>> /usr/local<br>
> >>> > > > >>>> during the<br>
> >>> > > > >>>> > > > > command<br>
> >>> > > > >>>> > > > > > >>> > make install,I have also copied the firmware<br>
> >>> files<br>
> >>> > > in :<br>
> >>> > > > >>>> > > > > > >>> ><br>
> >>> > > > >>>> > > > > > >>> > ls /usr/local/share/AAVMF<br>
> >>> > > > >>>> > > > > > >>> ><br>
> >>> > > > >>>> > > > > > >>> > AAVMF32_CODE.fd AAVMF_CODE.fd<br>
> >>> > > > >>>> AAVMF_CODE.snakeoil.fd<br>
> >>> > > > >>>> > > > > > >>> AAVMF_VARS.ms.fd<br>
> >>> > > > >>>> > > > > > >>> > AAVMF32_VARS.fd AAVMF_CODE.ms.fd<br>
> >>> AAVMF_VARS.fd<br>
> >>> > > > >>>> > > > > > >>> > AAVMF_VARS.snakeoil.fd<br>
> >>> > > > >>>> > > > > > >>> ><br>
> >>> > > > >>>> > > > > > >>> > but they aren't still recognized.<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> Downgrading libvirt would not help in this<br>
> >>> specific<br>
> >>> > > case.<br>
> >>> > > > >>>> Since<br>
> >>> > > > >>>> > > > > version<br>
> >>> > > > >>>> > > > > > >>> 5.2.0 libvirt uses firmware auto-selection.<br>
> >>> Libvirt is<br>
> >>> > > > >>>> looking<br>
> >>> > > > >>>> > > for<br>
> >>> > > > >>>> > > > > json<br>
> >>> > > > >>>> > > > > > >>> files describing available firmwares. It is<br>
> >>> > > documented in<br>
> >>> > > > >>>> QEMU<br>
> >>> > > > >>>> > > > > project<br>
> >>> > > > >>>> > > > > > >>> git repository in `docs/interop/firmware.json`,<br>
> >>> this<br>
> >>> > > > >>>> specific<br>
> >>> > > > >>>> > > section<br>
> >>> > > > >>>> > > > > > >>> describes where the json files should be placed:<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> # It is recommended to create firmware JSON<br>
> >>> files<br>
> >>> > > (each<br>
> >>> > > > >>>> > > containing a<br>
> >>> > > > >>>> > > > > > >>> # single @Firmware root element) with a<br>
> >>> double-digit<br>
> >>> > > > >>>> prefix, for<br>
> >>> > > > >>>> > > > > example<br>
> >>> > > > >>>> > > > > > >>> # "50-ovmf.json", "50-seabios-256k.json", etc,<br>
> >>> so they<br>
> >>> > > > >>>> can be<br>
> >>> > > > >>>> > > sorted<br>
> >>> > > > >>>> > > > > in<br>
> >>> > > > >>>> > > > > > >>> # predictable order. The firmware JSON files<br>
> >>> should be<br>
> >>> > > > >>>> searched<br>
> >>> > > > >>>> > > for<br>
> >>> > > > >>>> > > > > in<br>
> >>> > > > >>>> > > > > > >>> # three directories:<br>
> >>> > > > >>>> > > > > > >>> #<br>
> >>> > > > >>>> > > > > > >>> # - /usr/share/qemu/firmware -- populated by<br>
> >>> > > > >>>> distro-provided<br>
> >>> > > > >>>> > > > > firmware<br>
> >>> > > > >>>> > > > > > >>> # packages<br>
> >>> > > (XDG_DATA_DIRS<br>
> >>> > > > >>>> covers<br>
> >>> > > > >>>> > > > > > >>> # /usr/share by<br>
> >>> > > default),<br>
> >>> > > > >>>> > > > > > >>> #<br>
> >>> > > > >>>> > > > > > >>> # - /etc/qemu/firmware -- exclusively for<br>
> >>> sysadmins'<br>
> >>> > > > >>>> local<br>
> >>> > > > >>>> > > > > additions,<br>
> >>> > > > >>>> > > > > > >>> #<br>
> >>> > > > >>>> > > > > > >>> # - $XDG_CONFIG_HOME/qemu/firmware --<br>
> >>> exclusively<br>
> >>> > > for<br>
> >>> > > > >>>> per-user<br>
> >>> > > > >>>> > > > > local<br>
> >>> > > > >>>> > > > > > >>> #<br>
> >>> additions<br>
> >>> > > > >>>> > > (XDG_CONFIG_HOME<br>
> >>> > > > >>>> > > > > > >>> #<br>
> >>> defaults to<br>
> >>> > > > >>>> > > $HOME/.config).<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> It doesn't matter where the *CODE* and *VARS*<br>
> >>> firmware<br>
> >>> > > > >>>> files are<br>
> >>> > > > >>>> > > > > placed<br>
> >>> > > > >>>> > > > > > >>> if the path to these files is correct in the<br>
> >>> json<br>
> >>> > > files<br>
> >>> > > > >>>> in one<br>
> >>> > > > >>>> > > of the<br>
> >>> > > > >>>> > > > > > >>> three directories.<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> Looking at the qemu-efi-arm package it should<br>
> >>> install<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> /usr/share/AAVMF/AAVMF32_CODE.fd<br>
> >>> > > > >>>> > > > > > >>> /usr/share/AAVMF/AAVMF32_VARS.fd<br>
> >>> > > > >>>> > > > > > >>> /usr/share/qemu/firmware/60-edk2-arm.json<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> and that should be picked up correctly by<br>
> >>> libvirt.<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> I don't know what machine types are available<br>
> >>> for<br>
> >>> > > 32bit<br>
> >>> > > > >>>> ARM, but<br>
> >>> > > > >>>> > > you<br>
> >>> > > > >>>> > > > > > >>> should be able to figure that out by running:<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> virsh capabilities | grep canonical<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> it will show only lines with machine types, but<br>
> >>> my<br>
> >>> > > guess<br>
> >>> > > > >>>> is on<br>
> >>> > > > >>>> > > arm<br>
> >>> > > > >>>> > > > > there<br>
> >>> > > > >>>> > > > > > >>> should be 'virt' machine type so running<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> virsh domcapabilities --machine virt<br>
> >>> --emulatorbin<br>
> >>> > > > >>>> > > > > > >>> /path/to/qemu-system-arm<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> where you should be able to see the firmware<br>
> >>> paths if<br>
> >>> > > > >>>> they are<br>
> >>> > > > >>>> > > > > correctly<br>
> >>> > > > >>>> > > > > > >>> detected by libvirt.<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> Pavel<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >>> > On Tue, Aug 22, 2023 at 3:55 PM Mario<br>
> >>> Marietto <<br>
> >>> > > > >>>> > > > > <a href="mailto:marietto2008@gmail.com" target="_blank">marietto2008@gmail.com</a><br>
> >>> > > > >>>> > > > > > >>> ><br>
> >>> > > > >>>> > > > > > >>> > wrote:<br>
> >>> > > > >>>> > > > > > >>> ><br>
> >>> > > > >>>> > > > > > >>> > > I've already did that :<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > # apt install qemu-efi-arm<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Reading package lists... Done<br>
> >>> > > > >>>> > > > > > >>> > > Building dependency tree... Done<br>
> >>> > > > >>>> > > > > > >>> > > Reading state information... Done<br>
> >>> > > > >>>> > > > > > >>> > > qemu-efi-arm is already the newest version<br>
> >>> > > > >>>> (2022.11-6).<br>
> >>> > > > >>>> > > > > > >>> > > qemu-efi-arm set to manually installed.<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > if I don't get wrong,that package do the<br>
> >>> > > installation<br>
> >>> > > > >>>> of the<br>
> >>> > > > >>>> > > > > > >>> following<br>
> >>> > > > >>>> > > > > > >>> > > files :<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > root@devuan:/usr/share/AAVMF# ls<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > AAVMF32_CODE.fd AAVMF_CODE.fd<br>
> >>> > > > >>>> AAVMF_CODE.snakeoil.fd<br>
> >>> > > > >>>> > > > > > >>> > > AAVMF_VARS.ms.fd<br>
> >>> > > > >>>> > > > > > >>> > > AAVMF32_VARS.fd AAVMF_CODE.ms.fd<br>
> >>> AAVMF_VARS.fd<br>
> >>> > > > >>>> > > > > > >>> > > AAVMF_VARS.snakeoil.fd<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > in my case they have been correctly placed<br>
> >>> under<br>
> >>> > > > >>>> > > /usr/share/AAVMF<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > I'm not sure that the problem is there. The<br>
> >>> error<br>
> >>> > > > >>>> message<br>
> >>> > > > >>>> > > talks<br>
> >>> > > > >>>> > > > > > >>> about the<br>
> >>> > > > >>>> > > > > > >>> > > libvirt version that could be wrong. What<br>
> >>> about<br>
> >>> > > if I<br>
> >>> > > > >>>> > > retrocede<br>
> >>> > > > >>>> > > > > > >>> libirt 7.0<br>
> >>> > > > >>>> > > > > > >>> > > to 6.9 for example. Why 6.9 ?<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > As you can read below,it supports qemu 5.0<br>
> >>> and<br>
> >>> > > > >>>> newer...<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > v6.9.0 (2020-11-02)<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > *New features*<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > nodedev: Add support for channel<br>
> >>> subsystem<br>
> >>> > > (CSS)<br>
> >>> > > > >>>> > > devices on<br>
> >>> > > > >>>> > > > > > >>> S390<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > A CSS device is represented as a<br>
> >>> parent<br>
> >>> > > device<br>
> >>> > > > >>>> of a CCW<br>
> >>> > > > >>>> > > > > device.<br>
> >>> > > > >>>> > > > > > >>> > > This support allows to create vfio-ccw<br>
> >>> > > mediated<br>
> >>> > > > >>>> devices<br>
> >>> > > > >>>> > > > > with<br>
> >>> > > > >>>> > > > > > >>> > > virNodeDeviceCreateXML().<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > qemu: Implement memory failure event<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > New event is implemented that is<br>
> >>> emitted<br>
> >>> > > > >>>> whenever a<br>
> >>> > > > >>>> > > guest<br>
> >>> > > > >>>> > > > > > >>> > > encounters a memory failure.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > qemu: Implement support for<br>
> >>> <transient/><br>
> >>> > > disks<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > VMs based on the QEMU hypervisor now<br>
> >>> can use<br>
> >>> > > > >>>> > > <transient/><br>
> >>> > > > >>>> > > > > > >>> option<br>
> >>> > > > >>>> > > > > > >>> > > for local file-backed disks to<br>
> >>> configure a<br>
> >>> > > disk<br>
> >>> > > > >>>> which<br>
> >>> > > > >>>> > > > > discards<br>
> >>> > > > >>>> > > > > > >>> changes made<br>
> >>> > > > >>>> > > > > > >>> > > to it while the VM was active.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > hyperv: implement new APIs<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > The virConnectGetCapabilities(),<br>
> >>> > > > >>>> > > virConnectGetMaxVcpus(),<br>
> >>> > > > >>>> > > > > > >>> > > virConnectGetVersion(),<br>
> >>> > > virDomainGetAutostart(),<br>
> >>> > > > >>>> > > > > > >>> > > virDomainSetAutostart(),<br>
> >>> > > virNodeGetFreeMemory(),<br>
> >>> > > > >>>> > > > > > >>> virDomainReboot(),<br>
> >>> > > > >>>> > > > > > >>> > > virDomainReset(),<br>
> >>> virDomainShutdown(), and<br>
> >>> > > > >>>> > > > > > >>> virDomainShutdownFlags()<br>
> >>> > > > >>>> > > > > > >>> > > APIs have been implemented in the<br>
> >>> Hyper-V<br>
> >>> > > > >>>> driver.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > bhyve: implement virtio-9p filesystem<br>
> >>> > > support<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Implement virito-9p shared filesystem<br>
> >>> using<br>
> >>> > > the<br>
> >>> > > > >>>> > > > > <filesystem/><br>
> >>> > > > >>>> > > > > > >>> > > element.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > qemu: Add support for vDPA network<br>
> >>> devices.<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > VMs using the QEMU hypervisor can now<br>
> >>> > > specify<br>
> >>> > > > >>>> vDPA<br>
> >>> > > > >>>> > > network<br>
> >>> > > > >>>> > > > > > >>> devices<br>
> >>> > > > >>>> > > > > > >>> > > using <interface type='vdpa'>. The<br>
> >>> node<br>
> >>> > > device<br>
> >>> > > > >>>> APIs<br>
> >>> > > > >>>> > > also<br>
> >>> > > > >>>> > > > > now<br>
> >>> > > > >>>> > > > > > >>> list<br>
> >>> > > > >>>> > > > > > >>> > > and provide XML descriptions for vDPA<br>
> >>> > > devices.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > cpu_map: Add EPYC-Rome CPU model<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > *It's supported in QEMU 5.0.0 and<br>
> >>> newer.*<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > cpu: Add a flag for XML validation in<br>
> >>> CPU<br>
> >>> > > > >>>> comparison<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > The virConnectCompareCPU and<br>
> >>> > > > >>>> > > virConnectCompareHypervisorCPU<br>
> >>> > > > >>>> > > > > > >>> API now<br>
> >>> > > > >>>> > > > > > >>> > > support the<br>
> >>> > > > >>>> VIR_CONNECT_COMPARE_CPU_VALIDATE_XML flag,<br>
> >>> > > > >>>> > > > > which<br>
> >>> > > > >>>> > > > > > >>> > > enables XML validation. For virsh,<br>
> >>> this<br>
> >>> > > feature<br>
> >>> > > > >>>> is<br>
> >>> > > > >>>> > > enabled<br>
> >>> > > > >>>> > > > > by<br>
> >>> > > > >>>> > > > > > >>> passing the<br>
> >>> > > > >>>> > > > > > >>> > > --validate option to the cpu-compare<br>
> >>> and<br>
> >>> > > > >>>> > > > > hypervisor-cpu-compare<br>
> >>> > > > >>>> > > > > > >>> > > subcommands.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > qemu: Introduce virtio-balloon free<br>
> >>> page<br>
> >>> > > > >>>> reporting<br>
> >>> > > > >>>> > > feature<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Introduce the optional attribute<br>
> >>> > > > >>>> free-page-reporting<br>
> >>> > > > >>>> > > for<br>
> >>> > > > >>>> > > > > virtio<br>
> >>> > > > >>>> > > > > > >>> > > memballoon device. It<br>
> >>> enables/disables the<br>
> >>> > > > >>>> ability of<br>
> >>> > > > >>>> > > the<br>
> >>> > > > >>>> > > > > QEMU<br>
> >>> > > > >>>> > > > > > >>> virtio<br>
> >>> > > > >>>> > > > > > >>> > > memory balloon to return unused pages<br>
> >>> back<br>
> >>> > > to<br>
> >>> > > > >>>> the<br>
> >>> > > > >>>> > > > > hypervisor.<br>
> >>> > > > >>>> > > > > > >>> QEMU 5.1 and<br>
> >>> > > > >>>> > > > > > >>> > > newer support this feature.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > *Improvements*<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > qemu: Make 'cbitpos' &<br>
> >>> 'reducedPhysBits'<br>
> >>> > > attrs<br>
> >>> > > > >>>> optional<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Libvirt probes the underlying<br>
> >>> platform in<br>
> >>> > > order<br>
> >>> > > > >>>> to<br>
> >>> > > > >>>> > > fill in<br>
> >>> > > > >>>> > > > > > >>> these<br>
> >>> > > > >>>> > > > > > >>> > > SEV attributes automatically before<br>
> >>> > > launching a<br>
> >>> > > > >>>> guest.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > util: support device stats collection<br>
> >>> for<br>
> >>> > > > >>>> SR-IOV VF<br>
> >>> > > > >>>> > > hostdev<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > For SR-IOV VF hostdevs, libvirt now<br>
> >>> supports<br>
> >>> > > > >>>> retrieving<br>
> >>> > > > >>>> > > > > device<br>
> >>> > > > >>>> > > > > > >>> > > traffic stats via the<br>
> >>> > > virDomainInterfaceStats<br>
> >>> > > > >>>> API and<br>
> >>> > > > >>>> > > virsh<br>
> >>> > > > >>>> > > > > > >>> > > domifstat.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > logging: Allow disabling log rollover<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Set max_len=0 in virtlogd.conf to<br>
> >>> disable<br>
> >>> > > log<br>
> >>> > > > >>>> rollover.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > qemu: Set noqueue qdisc for TAP<br>
> >>> devices<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Set noqueue instead of the former<br>
> >>> pfifo_fast<br>
> >>> > > > >>>> queue<br>
> >>> > > > >>>> > > > > discipline<br>
> >>> > > > >>>> > > > > > >>> for<br>
> >>> > > > >>>> > > > > > >>> > > TAP devices. It will avoid needless<br>
> >>> cost of<br>
> >>> > > > >>>> host CPU<br>
> >>> > > > >>>> > > cycles<br>
> >>> > > > >>>> > > > > > >>> and thus<br>
> >>> > > > >>>> > > > > > >>> > > improve performance.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > qemu: virtiofs can be used without<br>
> >>> NUMA<br>
> >>> > > nodes<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Virtiofs is supported for the VM<br>
> >>> without<br>
> >>> > > NUMA<br>
> >>> > > > >>>> nodes but<br>
> >>> > > > >>>> > > > > > >>> configured<br>
> >>> > > > >>>> > > > > > >>> > > with shared memory.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > *Bug fixes*<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > hyperv: ensure WQL queries work in all<br>
> >>> > > locales<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > Relying on the "Description" field<br>
> >>> caused<br>
> >>> > > > >>>> queries to<br>
> >>> > > > >>>> > > fail<br>
> >>> > > > >>>> > > > > on<br>
> >>> > > > >>>> > > > > > >>> > > non-"en-US" systems. The queries have<br>
> >>> been<br>
> >>> > > > >>>> updated to<br>
> >>> > > > >>>> > > avoid<br>
> >>> > > > >>>> > > > > > >>> using localized<br>
> >>> > > > >>>> > > > > > >>> > > strings.<br>
> >>> > > > >>>> > > > > > >>> > > -<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > rpc: Fix virt-ssh-helper detection<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > libvirt 6.8.0 failed to correctly<br>
> >>> detect the<br>
> >>> > > > >>>> > > availability<br>
> >>> > > > >>>> > > > > of<br>
> >>> > > > >>>> > > > > > >>> the<br>
> >>> > > > >>>> > > > > > >>> > > new virt-ssh-helper command on the<br>
> >>> remote<br>
> >>> > > host,<br>
> >>> > > > >>>> and<br>
> >>> > > > >>>> > > thus<br>
> >>> > > > >>>> > > > > always<br>
> >>> > > > >>>> > > > > > >>> > > used the fallback instead; this has<br>
> >>> now been<br>
> >>> > > > >>>> fixed.<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > What do you think ? Can you share some<br>
> >>> > > documentation<br>
> >>> > > > >>>> about<br>
> >>> > > > >>>> > > how to<br>
> >>> > > > >>>> > > > > > >>> > > recompile an older version of libvirt from<br>
> >>> source<br>
> >>> > > > >>>> code ?<br>
> >>> > > > >>>> > > thanks.<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > On Tue, Aug 22, 2023 at 3:35 PM Pavel<br>
> >>> Hrdina <<br>
> >>> > > > >>>> > > <a href="mailto:phrdina@redhat.com" target="_blank">phrdina@redhat.com</a><br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > >>> wrote:<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > >> On Tue, Aug 22, 2023 at 02:49:05PM +0200,<br>
> >>> Mario<br>
> >>> > > > >>>> Marietto<br>
> >>> > > > >>>> > > wrote:<br>
> >>> > > > >>>> > > > > > >>> > >> > Hello to everyone.<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > I'm trying to use qemu 5.1 with<br>
> >>> virt-manager<br>
> >>> > > and<br>
> >>> > > > >>>> libvirt<br>
> >>> > > > >>>> > > on<br>
> >>> > > > >>>> > > > > my ARM<br>
> >>> > > > >>>> > > > > > >>> > >> > chromebook (armhf 32 bit cpu) running<br>
> >>> with<br>
> >>> > > Devuan<br>
> >>> > > > >>>> 4 as<br>
> >>> > > > >>>> > > host<br>
> >>> > > > >>>> > > > > o.s.<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > By default it uses qemu and its<br>
> >>> > > > >>>> dependencies,version 5.2.<br>
> >>> > > > >>>> > > I<br>
> >>> > > > >>>> > > > > > >>> remember<br>
> >>> > > > >>>> > > > > > >>> > >> that I<br>
> >>> > > > >>>> > > > > > >>> > >> > can't use qemu 5.2,because it doesn't<br>
> >>> have any<br>
> >>> > > > >>>> support for<br>
> >>> > > > >>>> > > > > KVM as<br>
> >>> > > > >>>> > > > > > >>> you<br>
> >>> > > > >>>> > > > > > >>> > >> can<br>
> >>> > > > >>>> > > > > > >>> > >> > read here :<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > ><br>
> >>> > > <a href="https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg02074.html" rel="noreferrer" target="_blank">https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg02074.html</a><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > For this reason,I've compiled qemu 5.1<br>
> >>> from<br>
> >>> > > > >>>> source. Below<br>
> >>> > > > >>>> > > I<br>
> >>> > > > >>>> > > > > shown<br>
> >>> > > > >>>> > > > > > >>> how I<br>
> >>> > > > >>>> > > > > > >>> > >> > have configured everything such as a<br>
> >>> little<br>
> >>> > > piece<br>
> >>> > > > >>>> of<br>
> >>> > > > >>>> > > > > compilation<br>
> >>> > > > >>>> > > > > > >>> > >> messages :<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > # apt install libgtk-3-dev libpulse-dev<br>
> >>> > > libgbm-dev<br>
> >>> > > > >>>> > > > > > >>> libspice-protocol-dev<br>
> >>> > > > >>>> > > > > > >>> > >> > libspice-server-dev libusb-1.0-0-dev<br>
> >>> > > libepoxy-dev<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > # cp<br>
> >>> > > > >>>> /root/Desktop/qemu-v5.1.0/arm-softmmu/qemu-system-arm<br>
> >>> > > > >>>> > > > > > >>> /usr/bin<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > # CFLAGS=-Wno-error ./configure<br>
> >>> > > > >>>> > > --target-list=x86_64-softmmu<br>
> >>> > > > >>>> > > > > > >>> > >> --enable-opengl<br>
> >>> > > > >>>> > > > > > >>> > >> > --enable-gtk --enable-kvm<br>
> >>> --enable-guest-agent<br>
> >>> > > > >>>> > > --enable-spice<br>
> >>> > > > >>>> > > > > > >>> > >> --audio-drv-<br>
> >>> > > > >>>> > > > > > >>> > >> > list="oss pa" --enable-libusb<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > A little piece of the log messages that<br>
> >>> I've<br>
> >>> > > got<br>
> >>> > > > >>>> from the<br>
> >>> > > > >>>> > > > > > >>> compilation of<br>
> >>> > > > >>>> > > > > > >>> > >> > qemu 5.1 :<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> <a href="https://pastebin.ubuntu.com/p/8DYfgPvhXy/" rel="noreferrer" target="_blank">https://pastebin.ubuntu.com/p/8DYfgPvhXy/</a><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > These are the resulting versions of my<br>
> >>> > > frankenstein<br>
> >>> > > > >>>> > > operation<br>
> >>> > > > >>>> > > > > :<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > # virsh version<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > Compiled against library: libvirt 7.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Using library: libvirt 7.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Using API: QEMU 7.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Running hypervisor: QEMU 5.1.0<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > At this point I ran virt-manager. It has<br>
> >>> been<br>
> >>> > > able<br>
> >>> > > > >>>> to<br>
> >>> > > > >>>> > > detect<br>
> >>> > > > >>>> > > > > > >>> qemu,but I<br>
> >>> > > > >>>> > > > > > >>> > >> get<br>
> >>> > > > >>>> > > > > > >>> > >> > the following error :<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > Warning : Failed to set up UEFI.<br>
> >>> > > > >>>> > > > > > >>> > >> > The Libvirt version does not support<br>
> >>> UEFI.<br>
> >>> > > > >>>> > > > > > >>> > >> > Install options are limited.<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > (I have also tried upgrading devuan 4<br>
> >>> with<br>
> >>> > > devuan<br>
> >>> > > > >>>> 5 and<br>
> >>> > > > >>>> > > I've<br>
> >>> > > > >>>> > > > > got<br>
> >>> > > > >>>> > > > > > >>> the<br>
> >>> > > > >>>> > > > > > >>> > >> same<br>
> >>> > > > >>>> > > > > > >>> > >> > error :<br>
> >>> > > > >>>> > > > > > >>> > >><br>
> >>> > > > >>>> > > > > > >>> > >> You most likely need to install<br>
> >>> qemu-efi-arm<br>
> >>> > > package<br>
> >>> > > > >>>> which<br>
> >>> > > > >>>> > > > > should<br>
> >>> > > > >>>> > > > > > >>> > >> provide 32bit arm firmware files. The<br>
> >>> package<br>
> >>> > > name<br>
> >>> > > > >>>> is a bit<br>
> >>> > > > >>>> > > > > > >>> confusing<br>
> >>> > > > >>>> > > > > > >>> > >> as it doesn't originate from qemu project,<br>
> >>> it is<br>
> >>> > > > >>>> from edk2<br>
> >>> > > > >>>> > > > > project.<br>
> >>> > > > >>>> > > > > > >>> > >><br>
> >>> > > > >>>> > > > > > >>> > >> Without this package libvirt most likely<br>
> >>> doesn't<br>
> >>> > > > >>>> report any<br>
> >>> > > > >>>> > > efi<br>
> >>> > > > >>>> > > > > > >>> files<br>
> >>> > > > >>>> > > > > > >>> > >> and that's what causes the error you are<br>
> >>> hitting.<br>
> >>> > > > >>>> > > > > > >>> > >><br>
> >>> > > > >>>> > > > > > >>> > >> Pavel<br>
> >>> > > > >>>> > > > > > >>> > >><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > root@devuan:/usr/bin# virsh version<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > Compiled against library: libvirt 9.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Using library: libvirt 9.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Using API: QEMU 9.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Running hypervisor: QEMU 5.1.0<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > If I change qemu-system-arm vers. 5.1<br>
> >>> with<br>
> >>> > > > >>>> qemu-system-arm<br>
> >>> > > > >>>> > > > > > >>> 5.2,the error<br>
> >>> > > > >>>> > > > > > >>> > >> > disappears. So,it seems that libvirt<br>
> >>> does not<br>
> >>> > > > >>>> accept<br>
> >>> > > > >>>> > > > > > >>> qemu-system-arm<br>
> >>> > > > >>>> > > > > > >>> > >> vers.<br>
> >>> > > > >>>> > > > > > >>> > >> > 5.1 or maybe any version lower than<br>
> >>> 5.2,I don't<br>
> >>> > > > >>>> know. But<br>
> >>> > > > >>>> > > as<br>
> >>> > > > >>>> > > > > I've<br>
> >>> > > > >>>> > > > > > >>> said,I<br>
> >>> > > > >>>> > > > > > >>> > >> > can't use any version of qemu greater or<br>
> >>> equal<br>
> >>> > > to<br>
> >>> > > > >>>> 5.2 on<br>
> >>> > > > >>>> > > my<br>
> >>> > > > >>>> > > > > > >>> setup. And I<br>
> >>> > > > >>>> > > > > > >>> > >> > want to use virt-manager and libvirt<br>
> >>> because I<br>
> >>> > > > >>>> find these<br>
> >>> > > > >>>> > > > > tools<br>
> >>> > > > >>>> > > > > > >>> very<br>
> >>> > > > >>>> > > > > > >>> > >> > comfortable instead of using the "raw"<br>
> >>> qemu<br>
> >>> > > > >>>> parameters. Is<br>
> >>> > > > >>>> > > > > there a<br>
> >>> > > > >>>> > > > > > >>> > >> > workaround ? Maybe I can recompile<br>
> >>> virt-manager<br>
> >>> > > > >>>> and / or<br>
> >>> > > > >>>> > > > > libvirt<br>
> >>> > > > >>>> > > > > > >>> from<br>
> >>> > > > >>>> > > > > > >>> > >> the<br>
> >>> > > > >>>> > > > > > >>> > >> > source code ? but how ? Do you think<br>
> >>> that it<br>
> >>> > > could<br>
> >>> > > > >>>> work<br>
> >>> > > > >>>> > > if I<br>
> >>> > > > >>>> > > > > use<br>
> >>> > > > >>>> > > > > > >>> > >> something<br>
> >>> > > > >>>> > > > > > >>> > >> > like this (if it exists and if it can be<br>
> >>> > > reached<br>
> >>> > > > >>>> in some<br>
> >>> > > > >>>> > > way)<br>
> >>> > > > >>>> > > > > :<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > Compiled against library: libvirt 5.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Using library: libvirt 5.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Using API: QEMU 5.0.0<br>
> >>> > > > >>>> > > > > > >>> > >> > Running hypervisor: QEMU 5.1.0<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > thanks.<br>
> >>> > > > >>>> > > > > > >>> > >> ><br>
> >>> > > > >>>> > > > > > >>> > >> > --<br>
> >>> > > > >>>> > > > > > >>> > >> > Mario.<br>
> >>> > > > >>>> > > > > > >>> > >><br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> > > --<br>
> >>> > > > >>>> > > > > > >>> > > Mario.<br>
> >>> > > > >>>> > > > > > >>> > ><br>
> >>> > > > >>>> > > > > > >>> ><br>
> >>> > > > >>>> > > > > > >>> ><br>
> >>> > > > >>>> > > > > > >>> > --<br>
> >>> > > > >>>> > > > > > >>> > Mario.<br>
> >>> > > > >>>> > > > > > >>><br>
> >>> > > > >>>> > > > > > >><br>
> >>> > > > >>>> > > > > > >><br>
> >>> > > > >>>> > > > > > >> --<br>
> >>> > > > >>>> > > > > > >> Mario.<br>
> >>> > > > >>>> > > > > > >><br>
> >>> > > > >>>> > > > > > ><br>
> >>> > > > >>>> > > > > > ><br>
> >>> > > > >>>> > > > > > > --<br>
> >>> > > > >>>> > > > > > > Mario.<br>
> >>> > > > >>>> > > > > > ><br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > ><br>
> >>> > > > >>>> > > > > > --<br>
> >>> > > > >>>> > > > > > Mario.<br>
> >>> > > > >>>> > > > ><br>
> >>> > > > >>>> > > ><br>
> >>> > > > >>>> > > ><br>
> >>> > > > >>>> > > > --<br>
> >>> > > > >>>> > > > Mario.<br>
> >>> > > > >>>> > ><br>
> >>> > > > >>>> ><br>
> >>> > > > >>>> ><br>
> >>> > > > >>>> > --<br>
> >>> > > > >>>> > Mario.<br>
> >>> > > > >>>><br>
> >>> > > > >>><br>
> >>> > > > >>><br>
> >>> > > > >>> --<br>
> >>> > > > >>> Mario.<br>
> >>> > > > >>><br>
> >>> > > > >><br>
> >>> > > > >><br>
> >>> > > > >> --<br>
> >>> > > > >> Mario.<br>
> >>> > > > >><br>
> >>> > > > ><br>
> >>> > > > ><br>
> >>> > > > > --<br>
> >>> > > > > Mario.<br>
> >>> > > > ><br>
> >>> > > ><br>
> >>> > > ><br>
> >>> > > > --<br>
> >>> > > > Mario.<br>
> >>> > ><br>
> >>> > ><br>
> >>> > ><br>
> >>> ><br>
> >>> > --<br>
> >>> > Mario.<br>
> >>><br>
> >><br>
> >><br>
> >> --<br>
> >> Mario.<br>
> >><br>
> ><br>
> ><br>
> > --<br>
> > Mario.<br>
> ><br>
> <br>
> <br>
> -- <br>
> Mario.<br>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Mario.<br></div>