[Top][All Lists]

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

Re: absolute firmware path made relocatable in qemu 5.2.0

From: Dave
Subject: Re: absolute firmware path made relocatable in qemu 5.2.0
Date: Tue, 12 Jan 2021 21:04:57 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

Thanks Paola,

We are still in testing and that's the only thing we've uncovered so far with the new 5.2.0. I will post if the ops guys find anything else.


On 12/01/2021 20:53, Paolo Bonzini wrote:

Il mar 12 gen 2021, 17:48 Dave <dave@0bits.com <mailto:dave@0bits.com>> ha scritto:

    Hi Paolo,

    While this (option 2) partially works, it will still search for
    /nonexistent/libexec/qemu-bridge-helper for example so seems that some
    paths are still absolute and some relative.

Ok, that's a bug that can be fixed in 5.2.1. Are there other instances?

    To explain, what we are expecting that we compile one binary with the
    relevant options, test that and then it goes into production. If we
    compile with --prefix=/usr (it's final resting place will be /usr/bin)
    then everything works as expected once it is in production (since
    /usr/share/qemu, /usr/libexec, /etc/qemu exists as expected).  However
    when we are testing the binary in a directory /root/qemu/5.2.0 with
    --prefix=/usr it breaks since it converts the firmware and bios
    paths to
    /root/qemu/5.2.0/../share/qemu. This means we need to recompile twice
    with relevant prefixes since if i use --prefix=/nonexistent then we
    can't find the qemu-bridge-helper when the binary goes into production.

    It would be nicer with the relocatable binary took some fixed paths
    /etc/qemu.conf for the bridge-helper, firmware, bios, qemu-ifup/down.


    On 12/01/2021 18:48, Paolo Bonzini wrote:
     > On 12/01/21 15:05, Dave wrote:
     >> Is seem that absolute firmwarepath compilation option is
    converted  to
     >> relocatable in 5.2.0 qemu.
     >> # QEMU configure log Tue 12 Jan 14:46:41 GST 2021
     >> # Configured with: '../configure' '--prefix=/usr'
     >> '--sysconfdir=/etc/qemu' '--disable-bochs'
     >> '*--firmwarepath=/usr/share/qemu:/usr/share/qemu-firmware*'
     >> #
     > Yes, all paths within the prefix are relocated.  The workaround is
     > simply to configure the intended prefix with configure:
     > ./configure --prefix=/root/qemu ...
     > or if you don't know the prefix:
     > ./configure --prefix=/nonexistent ...
     > Because /usr/share/qemu and /usr/share/qemu-firmware are outside
     > they will be treated as absolute just like /etc/qemu.
     > Thanks,
     > Paolo
     >> And trying to run the executable
     >>     bash-5.1# ./qemu-system-x86_64
     >>     qemu: could not load PC BIOS 'bios-256k.bin'
     >> If i print out the resultant binary paths
     >>     bash-5.1# ./qemu-system-x86_64 -L help
     >>     /root/qemu/../share/qemu
     >>     /root/qemu/../share/qemu-firmware
     >> So there is no way to have a absolute path for firmware /bios
    and all
     >> qemu's that we test need to be at the right directory nesting to
     >> firmware, bios etc or else they all need their own duplicate
     >> files. Firmware path needs to honor the absolute paths i believe.

reply via email to

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