* [Buildroot] [PATCH] package/qemu: allow building only the guest agent
@ 2023-03-22 23:15 unixmania
2023-03-24 10:15 ` Thomas Petazzoni via buildroot
2023-05-13 8:25 ` Yann E. MORIN
0 siblings, 2 replies; 5+ messages in thread
From: unixmania @ 2023-03-22 23:15 UTC (permalink / raw)
To: buildroot; +Cc: Carlos Santos, Romain Naour
From: Carlos Santos <unixmania@gmail.com>
Most of the tools are useful only on virtualization hosts. After the
upgrade to QEMU 7.2.0, it is possible to build only quemu-ga, which
makes more sense when we build guest VM images.
Also do not build the other tools by default if none of the emulators is
selected, since the user does not necessarily wants them. Ideally, it
should not be possible to select qemu without selecting at least one of
the subcomponents but it is hard to guess what the user wants.
Signed-off-by: Carlos Santos <unixmania@gmail.com>
---
NOTE
This was also possible on older QEMU versions, but required a trick to
force compiling the code required to link qemu-ga without building the
other tools:
./configure --enable-system --target-list="" --disable-tools --enable-guest-agent
---
package/qemu/Config.in | 8 +++++++-
package/qemu/qemu.mk | 6 ++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index a446c0cf68..6a9b08648d 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -26,7 +26,6 @@ menuconfig BR2_PACKAGE_QEMU
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_ZLIB
- select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER
help
QEMU is a generic and open source machine emulator and
virtualizer.
@@ -358,4 +357,11 @@ config BR2_PACKAGE_QEMU_TOOLS
Say 'y' here to include tools packaged with QEMU
(e.g. qemu-img).
+config BR2_PACKAGE_QEMU_GUEST_AGENT
+ bool "Enable guest agent"
+ help
+ Say 'y' here to include an agent to run on guests, which
+ communicates with the host over a virtio-serial channel
+ named "org.qemu.guest_agent.0".
+
endif # BR2_PACKAGE_QEMU
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 3cbeffe213..4194670bb0 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -165,6 +165,12 @@ else
QEMU_OPTS += --disable-tools
endif
+ifeq ($(BR2_PACKAGE_QEMU_GUEST_AGENT),y)
+QEMU_OPTS += --enable-guest-agent
+else
+QEMU_OPTS += --disable-guest-agent
+endif
+
ifeq ($(BR2_PACKAGE_LIBFUSE3),y)
QEMU_OPTS += --enable-fuse --enable-fuse-lseek
QEMU_DEPENDENCIES += libfuse3
--
2.31.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent
2023-03-22 23:15 [Buildroot] [PATCH] package/qemu: allow building only the guest agent unixmania
@ 2023-03-24 10:15 ` Thomas Petazzoni via buildroot
2023-03-25 1:14 ` Carlos Santos
2023-05-13 8:25 ` Yann E. MORIN
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-03-24 10:15 UTC (permalink / raw)
To: unixmania; +Cc: Romain Naour, buildroot
On Wed, 22 Mar 2023 20:15:11 -0300
unixmania@gmail.com wrote:
> - select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER
Is the build working OK if neither the tools, nor qemu-system, nor
qemu-user nor qemu-qa are enabled?
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent
2023-03-24 10:15 ` Thomas Petazzoni via buildroot
@ 2023-03-25 1:14 ` Carlos Santos
2023-03-31 10:20 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 5+ messages in thread
From: Carlos Santos @ 2023-03-25 1:14 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Romain Naour, buildroot
On Fri, Mar 24, 2023 at 7:15 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Wed, 22 Mar 2023 20:15:11 -0300
> unixmania@gmail.com wrote:
>
> > - select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER
>
> Is the build working OK if neither the tools, nor qemu-system, nor
> qemu-user nor qemu-qa are enabled?
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
Yes. It just does not install anything useful:
$ cat build/qemu-7.2.0/.files-list.txt
qemu,./usr/share/qemu/keymaps/sl
qemu,./usr/share/qemu/keymaps/sv
qemu,./usr/include/qemu-plugin.h
qemu,./usr/share/qemu/keymaps/ar
qemu,./usr/share/qemu/keymaps/bepo
qemu,./usr/share/qemu/keymaps/cz
qemu,./usr/share/qemu/keymaps/da
qemu,./usr/share/qemu/keymaps/de
qemu,./usr/share/qemu/keymaps/de-ch
qemu,./usr/share/qemu/keymaps/en-gb
qemu,./usr/share/qemu/keymaps/en-us
qemu,./usr/share/qemu/keymaps/es
qemu,./usr/share/qemu/keymaps/et
qemu,./usr/share/qemu/keymaps/fi
qemu,./usr/share/qemu/keymaps/fo
qemu,./usr/share/qemu/keymaps/fr
qemu,./usr/share/qemu/keymaps/fr-be
qemu,./usr/share/qemu/keymaps/fr-ca
qemu,./usr/share/qemu/keymaps/fr-ch
qemu,./usr/share/qemu/keymaps/hr
qemu,./usr/share/qemu/keymaps/hu
qemu,./usr/share/qemu/keymaps/is
qemu,./usr/share/qemu/keymaps/it
qemu,./usr/share/qemu/keymaps/ja
qemu,./usr/share/qemu/keymaps/lv
qemu,./usr/share/qemu/keymaps/lt
qemu,./usr/share/qemu/keymaps/mk
qemu,./usr/share/qemu/keymaps/nl
qemu,./usr/share/qemu/keymaps/no
qemu,./usr/share/qemu/keymaps/pl
qemu,./usr/share/qemu/keymaps/pt
qemu,./usr/share/qemu/keymaps/pt-br
qemu,./usr/share/qemu/keymaps/ru
qemu,./usr/share/qemu/keymaps/th
qemu,./usr/share/qemu/trace-events-all
qemu,./usr/share/qemu/keymaps/tr
The keymaps should not be installed if no qemu-system is built. I
already sent a patch upstream attempting to fix the problem but the
problem is still there:
https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg00084.html
I also have a patch to install trace-events-all only if necessary.
Unfortunately, making these changes happen in qemu takes a long time.
--
Carlos Santos <unixmania@gmail.com>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent
2023-03-25 1:14 ` Carlos Santos
@ 2023-03-31 10:20 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-03-31 10:20 UTC (permalink / raw)
To: Carlos Santos; +Cc: Romain Naour, buildroot
Hello,
On Fri, 24 Mar 2023 22:14:18 -0300
Carlos Santos <unixmania@gmail.com> wrote:
> Yes. It just does not install anything useful:
OK. As long as it builds, that's fine :-)
> The keymaps should not be installed if no qemu-system is built. I
> already sent a patch upstream attempting to fix the problem but the
> problem is still there:
>
> https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg00084.html
>
> I also have a patch to install trace-events-all only if necessary.
> Unfortunately, making these changes happen in qemu takes a long time.
Thanks for this work, definitely useful!
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH] package/qemu: allow building only the guest agent
2023-03-22 23:15 [Buildroot] [PATCH] package/qemu: allow building only the guest agent unixmania
2023-03-24 10:15 ` Thomas Petazzoni via buildroot
@ 2023-05-13 8:25 ` Yann E. MORIN
1 sibling, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2023-05-13 8:25 UTC (permalink / raw)
To: unixmania; +Cc: Romain Naour, buildroot
Carlos, All,
On 2023-03-22 20:15 -0300, unixmania@gmail.com spake thusly:
> From: Carlos Santos <unixmania@gmail.com>
>
> Most of the tools are useful only on virtualization hosts. After the
> upgrade to QEMU 7.2.0, it is possible to build only quemu-ga, which
> makes more sense when we build guest VM images.
>
> Also do not build the other tools by default if none of the emulators is
> selected, since the user does not necessarily wants them. Ideally, it
> should not be possible to select qemu without selecting at least one of
> the subcomponents but it is hard to guess what the user wants.
>
> Signed-off-by: Carlos Santos <unixmania@gmail.com>
I am not very happy that this means we can end up with a cconfiguration
where nothing (meaningful) is installed, but fixing this becomes less
obvious...
So be it...
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> NOTE
>
> This was also possible on older QEMU versions, but required a trick to
> force compiling the code required to link qemu-ga without building the
> other tools:
>
> ./configure --enable-system --target-list="" --disable-tools --enable-guest-agent
> ---
> package/qemu/Config.in | 8 +++++++-
> package/qemu/qemu.mk | 6 ++++++
> 2 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/package/qemu/Config.in b/package/qemu/Config.in
> index a446c0cf68..6a9b08648d 100644
> --- a/package/qemu/Config.in
> +++ b/package/qemu/Config.in
> @@ -26,7 +26,6 @@ menuconfig BR2_PACKAGE_QEMU
> depends on BR2_USE_MMU # fork()
> select BR2_PACKAGE_LIBGLIB2
> select BR2_PACKAGE_ZLIB
> - select BR2_PACKAGE_QEMU_TOOLS if !BR2_PACKAGE_QEMU_SYSTEM && !BR2_PACKAGE_QEMU_LINUX_USER
> help
> QEMU is a generic and open source machine emulator and
> virtualizer.
> @@ -358,4 +357,11 @@ config BR2_PACKAGE_QEMU_TOOLS
> Say 'y' here to include tools packaged with QEMU
> (e.g. qemu-img).
>
> +config BR2_PACKAGE_QEMU_GUEST_AGENT
> + bool "Enable guest agent"
> + help
> + Say 'y' here to include an agent to run on guests, which
> + communicates with the host over a virtio-serial channel
> + named "org.qemu.guest_agent.0".
> +
> endif # BR2_PACKAGE_QEMU
> diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
> index 3cbeffe213..4194670bb0 100644
> --- a/package/qemu/qemu.mk
> +++ b/package/qemu/qemu.mk
> @@ -165,6 +165,12 @@ else
> QEMU_OPTS += --disable-tools
> endif
>
> +ifeq ($(BR2_PACKAGE_QEMU_GUEST_AGENT),y)
> +QEMU_OPTS += --enable-guest-agent
> +else
> +QEMU_OPTS += --disable-guest-agent
> +endif
> +
> ifeq ($(BR2_PACKAGE_LIBFUSE3),y)
> QEMU_OPTS += --enable-fuse --enable-fuse-lseek
> QEMU_DEPENDENCIES += libfuse3
> --
> 2.31.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-05-13 8:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-22 23:15 [Buildroot] [PATCH] package/qemu: allow building only the guest agent unixmania
2023-03-24 10:15 ` Thomas Petazzoni via buildroot
2023-03-25 1:14 ` Carlos Santos
2023-03-31 10:20 ` Thomas Petazzoni via buildroot
2023-05-13 8:25 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox