[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issues with -vnc on 5.0-rc0 with qemu-system-aarch64 -machine virt

From: Jesus Sanchez-Palencia
Subject: Re: Issues with -vnc on 5.0-rc0 with qemu-system-aarch64 -machine virt
Date: Tue, 31 Mar 2020 18:03:06 -0700

Hi Peter,

On Tue, Mar 31, 2020 at 2:39 PM Peter Maydell <address@hidden> wrote:
Probably there is a mismatch between where the firmware
is for you and where configure has told QEMU to look for it.
(Though if you are doing an install of QEMU it ought to
be installing the keymaps in the same place, and if you
are running QEMU from within the build directory then
it ought to be finding the keymaps by looking in the
source directory's pc-bios subdirectory, though I've
just noticed the latter code is not very clever and will
be wrong if your build directory wasn't a direct subdirectory
of the source directory. How are you building and
running QEMU exactly?)

See below.


In more detail, the directory list is constructed from:
 * any "-L somedir" options you pass to QEMU
 * the 'firmware path' (default usually /usr/local/share/qemu-firmware,
   changeable with configure's --firmwarepath option)
 * the directory '../pc-bios/' relative to the location
   of the executable
 * the directory '$datadir$confsuffix' where both parts
   can be set using configure --datadir and --confsuffix
   arguments, defaulting to '/usr/local/share' and '/qemu' so
   we look in '/usr/local/share/qemu'

I'm not sure if any of that changed from 4.2 -- the
general mechanism is pretty longstanding but maybe
we changed one of the defaults? You should be able to
ask the working 4.2 binary where it's looking...

Yes, I believe that's the case and something changed from the 4.0 and 4.2 to 5.0 now.
I'm compiling all branches equally with prefix unset, and I use DESTDIR when I install
using make install. In more details, this is what I just did:

$ mkdir /tmp/qemu_install
$ mkdir /tmp/qemu_out
$ cd /tmp/qemu_out

$ ~/src/qemu/configure --target-list=aarch64-softmmu --disable-vnc-jpeg --disable-vnc-png \
            --disable-vnc-sasl --disable-vte --disable-docs --disable-curl \
            --disable-debug-info --disable-qom-cast-debug \
            --disable-guest-agent --disable-brlapi --disable-gnutls \
            --disable-gcrypt --disable-nettle --disable-virtfs \
            --disable-vhost-scsi --disable-vhost-vsock \
            --disable-libusb --disable-smartcard --disable-snappy \
            --disable-opengl --disable-werror --disable-lzo \
            --disable-gtk --enable-sdl --enable-kvm \

$ make -j
$ make install DESTDIR=/tmp/qemu_install/
$ cd /tmp/qemu_install

For QEMU 5.0-rc0, what I get is:
$ ./bin/qemu-system-aarch64 -machine virt -L help

For QEMU 4.2 (and 4.0), what I get is:
$ ./bin/qemu-system-aarch64 -machine virt -L help 
/tmp/qemu_install/share/qemu       <----  note this

That /tmp/qemu_install path of the 4.2 binary is relative to the binary, I believe,
which is exactly what I'm looking for. My use case is that I want to make a tarball of that and
use it in different machines after unpacking it (and to different locations).

If I set --datadir on my config, I get a hardcoded path formed by "$datadir$confsuffix'"
as you described, but this is different than the above.

I had a look at the Makefiles and couldn't spot anything that could have led to this on the
5.0-rc0 branch.

Any ideas?

Thanks for all the help so far.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]